私は ocaml を初めて使用し、スタイル関数を渡す継続を記述しようとしていますが、k の追加の引数にどの値を渡す必要があるかについて非常に混乱しています
たとえば、リストのすべての要素が偶数の場合は true、それ以外の場合は false を返す再帰関数を作成できます。
そのように
let rec even list = ....
CPSでは、関数を渡すために1つの引数を追加する必要があることを知っています
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 *)