Re: [連結] 貼一個lazy eval的連接﹐非常淺顯易懂。

看板PLT (程式語言與理論)作者 (noctem)時間17年前 (2007/03/21 15:04), 編輯推噓5(502)
留言7則, 4人參與, 最新討論串2/2 (看更多)
確實是因為很忙,看了之後拖了很久才回... :) ※ 引述《caml (suitengu)》之銘言: : http://www.lassila.org/blog/archive/2006/05/fun_with_lazy_e_1.html : 各位可以用sbcl, 或clisp試一下。 我僅是大略地看過一遍,蠻有意思的。感覺上這篇談的是讓 串列的 constructor 成為 lazy 的。補充一下: 1. Scheme 也有 delay/force 的成對「函數」. 不過追根究底 好像還是用 macro 做出來的。做 delay 的方法就是把運算 包到一個函數裡去。隨手找到一些資料: http://oldwww.cs.aau.dk/~normark/prog3-03/html/notes/ eval-order_themes-delay-stream-section.html Lisp 和 Scheme 對於 closure 的處理「好像」有所不同, 不知道 Lisp 的 delay/force 是否也這樣做。 2. 關於 lazy evaluation 有幾派做法: a. 語言還是以 eager evaluation 為預設,認為如果需要 lazy evaluation 的話另外實作即可。例如 Scheme. b. 只把 lazy evaluation 做在資料結構裡面。caml 提供的 這篇好像就是以這個方向為例? c. 認為把 lazy evaluation 當作預設還是有好處。例如 Haskell. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.20.217

03/21 16:58, , 1F
common lisp也是eager eval. 也許common lisp要標準化的函數
03/21 16:58, 1F

03/21 17:00, , 2F
太多﹐所以沒有收錄delay和force。
03/21 17:00, 2F

03/22 20:20, , 3F
其實我一直在想,Lisp 好像沒什麼是不能模擬的?
03/22 20:20, 3F

03/23 13:26, , 4F
lisp雖然很flexible, 但是沒人用。 呵呵
03/23 13:26, 4F

03/23 19:35, , 5F
有人用啊...只是比較少
03/23 19:35, 5F

03/23 19:36, , 6F
Maxima就是Lisp寫的
03/23 19:36, 6F

03/30 14:07, , 7F
Maxima 該不會是電腦代數軟體?
03/30 14:07, 7F
文章代碼(AID): #160DZs0h (PLT)
文章代碼(AID): #160DZs0h (PLT)