次のような高階関数があるとします。
let call (f : unit -> 'a) = f()
そして別の機能:
let incr i = i + 1
ラムダを使用せずincr
に、に渡す方法はありますか?call
(fun () -> incr 1)
明らかに、関数が「完全に適用」されるため、受け渡し(incr 1)
は機能しません。
編集
明確にするために:私はそれが関数になるように関数をカレーする方法があるかどうか疑問に思っています:unit -> 'a
。