一流的功能

use*_*706 1 f#

让我们说我有一个功能

 let makeMonitoredFun f =

     let c = ref 0

     (fun x -> c := !c+1; printf "Called %d times.\n" !c; f x);;
Run Code Online (Sandbox Code Playgroud)

为什么我不被允许这样做.

   let mrev = makeMonitoredFun List.rev
Run Code Online (Sandbox Code Playgroud)

Joh*_*mer 5

因此,大概您指的是在尝试编译代码时获得的值类型限制.如果添加类型注释,它将正常工作/.有关值类型错误的详细信息,请参阅本文中的一篇F#开发人员http://blogs.msdn.com/b/mulambda/archive/2010/05/01/value-restriction-in-f.aspx