我正在尝试实现一个在 OCaml 中返回阶乘的函数,但我不知道我是否实际上使用了连续传递样式:
let fact n =
let rec factorial n cont = match n with
| 0 -> cont ()
| _ -> factorial (n-1) (fun () -> cont () * n) in
factorial n (fun () -> 1)
Run Code Online (Sandbox Code Playgroud)
在我看来,我并没有真正延迟计算,而只是替换了代码中的计算。
ocaml ×1