2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

☆雑 談 専 用 ス ッ ド レ ★ 26

32 :がんじゃ兄貴 ◆U18g7nxod6:2014/04/25(金) 21:52:08.70 ID:W3A8CkLPr
>>19
http://ja.wikipedia.org/wiki/%E9%81%85%E5%BB%B6%E8%A9%95%E4%BE%A1

評価しなければならない値が存在するとき、実際の計算を値が必要になるまで行わないことをいう。
評価法が指示されているが実際の計算が行われていない中間状態の時それをプロミス[2]や、計算の実体をさしてサンク[3]といい、プロミスを強制[4]することで値が計算される。
一旦計算された値はキャッシュをすることが可能であり、遅延プロミスは最大で一度しか計算されないようにすることができる。
ただし、Haskell の実装によっては、何度でも同じ計算を行う。

>たとえば延々と何かを計算して、その結果をどこにも出力しないような
>ぷるグラムを書けば、C++とかは計算を実行するが、haskellは何もしない。
>だって結果がいらないんだから、計算する必要がない。

計算結果が出力される、されないに関わらず、計算命令があるときに、その値が必要になってから評価するのが遅延評価だ。
いいか、出力される、されないは関係ない。計算するのにその値が必要であれば評価する。

何もわかっていない俺でもこの程度は理解できるんだか、何故お前は「結果出力のないHaskellのプログラムでは何もしない」と言うんだ?

総レス数 1001
232 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★