Skip to content

Instantly share code, notes, and snippets.

@godfat
Created November 11, 2015 07:29
Show Gist options
  • Save godfat/c3717170a2d69c6022e4 to your computer and use it in GitHub Desktop.
Save godfat/c3717170a2d69c6022e4 to your computer and use it in GitHub Desktop.
簡單地說就是一個假想的世界的狀態,
每一次做了有 side-effect 的事情時,
我們就說這個世界有了一點改變。
我們不知道是什麼改變,因為我們不能偷窺這個世界,
那只是一個黑盒子表示有東西變了,
並把新的世界傳遞下去,強迫每一次改變都是從
最後一次改變的世界中再做改變。
但實際上我們並不需要真的紀錄這個黑盒子,
因為反正我們根本不會去看,或是說,
依照 lazy evaluation, 因為我們不會去看,
因此根本不需要保留下來...
既然不保留下來的話,那當初設計這個世界的意義
也就喪失了。要保留的話,除非做些沒有意義的計算
去強迫他去看,不然就是要作弊告訴 runtime 雖然
我沒有去看,實際上也不需要看,但要假裝有用
因此要保留喔。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment