関数型プログラミング言語Haskell Part13
■ このスレッドは過去ログ倉庫に格納されています
0296デフォルトの名無しさん
2010/11/28(日) 21:29:05do let !i' = concat l; return ()
は
concat l `seq` return ()
と等価だけど、seqは左辺を最上位の構築子が明示される形(WHNH)までしか簡約しない。この例だと、
concat (take 1000 (repeat (take 1000 $ repeat 1)))
を
1 : 何か
まで評価したらそこで終わってしまう
■ このスレッドは過去ログ倉庫に格納されています