星野正利のHaskell日記 このページをアンテナに追加 RSSフィード

 | 

2006-06-17フツケル独書会第1回議事録

P.8 遅延評価 P.8 遅延評価 - 星野正利のHaskell日記 を含むブックマーク

ふーん。Lispは、遅延評価じゃないのか。

Haskellは、純粋関数型言語だけど、Lispは違う。”っていうのは、ここら辺も関係しているのかな?


遅延評価は、メモリCPU節約に効果的な気がする。

Log4JのLogger#isDebugEnabledメソッドなんて、

まさしくJava遅延評価でないために必要となったメ

P.8 遅延評価 P.8 遅延評価 - 星野正利のHaskell日記 を含むブックマーク

ふーん。Lispは、遅延評価じゃないのか。

Haskellは、純粋関数型言語だけど、Lispは違う。”っていうのは、ここら辺も関係しているのかな?


遅延評価は、メモリCPU節約に効果的な気がする。

Log4JのLogger#isDebugEnabledメソッドなんて、

まさしくJava遅延評価でないために必要となったメソッドですものね。

1.Logger#debugメソッドは、ログ出力のレベルがDEBUGの時以外、何もしない。

2.だが、Java遅延評価ではない。

3.そのため、debugメソッドで使われなくても、debugメソッドに渡すデバックメッセージを組み立てなければならない。

4。そのデバックメッセージの組み立てが、ボトルネックになる場合がある。

5.そこで、isDebugEnabledメソッドでDEBUGログが出力されるか判定し、出力されないなら、デバックメッセージの組み立てもスキップする。

うーん。長ったらしい説明だ。もっと簡にして要を得た説明をできるようにならないと。

 |