遅延評価OCamllazy を付けると、Lazy.forceするまで評価が遅延されます。 # let t = lazy (print_int 10);; val t : unit lazy_t = <lazy> # Lazy.force t;; 10- : unit = () Stream モジュールを使えば、遅延ストリームを手軽に書くことが出来きます。 SML言語仕様としては存在しません。 SML/NJ は独自拡張として SUSP モジュールがあり、SUSP.lazyとSUSP.forceで遅延評価を行うことができます。 Haskell全ての評価に遅延評価が用いられます。 |