目前我使用它,它工作正常:
let mutable notify = fun x -> x
let wrap f i = f(i); i
let a x = printf "%A" x
notify <- notify >> (wrap a)
notify "ss"
还有其他更好的方法吗?
为什么这不起作用?
let mutable notify = fun x -> x
let wrap f i = f(i); i
let a x = printf "%A" x
let d x =
(notify >> (wrap a)) x
notify <- d
notify "ss"
我不确定为什么第一个示例不会触发无限循环,但第二个示例会触发。
似乎可变函数变量(无点函数)的行为与我预期的不同。我可以从哪里了解有关此主题的更多信息?