SML / NJ的Lazy是否正常工作?

nai*_*hgz 6 sml smlnj lazy-evaluation

我正在使用SML / NJ v110.80和Lazy。我在repl中尝试了以下代码

Control.lazysml := true;
open Lazy;
fun f x = f x;
let val x = $(f(4)) in 15 end; 
Run Code Online (Sandbox Code Playgroud)

最后一个表达式应该是15,但是会有所不同。我是否犯了一个错误,或者它不能正常工作?谢谢。

我发现这是我的错,我应该写

let val lazy x = $(f(4)) in 15 end;
Run Code Online (Sandbox Code Playgroud)

我在这里找到此信息-http: //www.geocities.jp/m_hiroi/func/smlnj16.html

rua*_*akh 0

OP 写道:

我发现这是我的错,我应该写

let val lazy x = $(f(4)) in 15 end;
Run Code Online (Sandbox Code Playgroud)

我在这里找到了这个信息--http://www.geocities.jp/m_hiroi/func/smlnj16.html