2014年12月22日月曜日

開発環境

コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)(セイフ・ハリディ (著)、ピーター・ヴァン・ロイ (著)、Peter Van-Roy (著)、 Seif Haridi (著)、羽永 洋 (翻訳) 、翔泳社、原書: Concepts, Techniques, and Models of Computer Programming(CTM))の第1章(プログラミング概念入門)、1.18(練習問題)、5.(遅延計算)を解いてみる。

5.(遅延計算)

問題の関数を呼び出すと、無限ループ、循環するので、良い考えではない。

コード(Emacs)

declare Ints SumList in
fun lazy {Ints N}
   N|{Ints N+1}
end

fun {SumList L}
   case L of X|L1 then X+{SumList L1}
   else 0 end
end

{Browse {SumList [1 2 3 4 5 6 7 8 9 10]}}
% {Browse {SumList {Ints 0}}}

0 コメント:

コメントを投稿