我是 ocaml 的新手,并尝试编写一个延续传递样式函数,但很困惑我需要将什么值传递给 k 的附加参数
例如,我可以编写一个递归函数,如果列表的所有元素都是偶数,则返回 true,否则返回 false。
所以它就像
let rec even list = ....
在 CPS 上,我知道我需要添加一个参数来传递函数,比如
let rec evenk list k = ....
但我不知道如何处理这个 k 以及这到底是如何工作的
例如对于这个偶函数,环境看起来像
val evenk : int list -> (bool -> ’a) -> ’a = <fun>
evenk [4; 2; 12; 5; 6] (fun x -> x) (* output should give false *)