【发布时间】:2010-04-15 12:09:40
【问题描述】:
“值限制”实际上是否意味着没有高阶函数式编程?
我有一个问题,每次我尝试做一些 HOP 时,都会遇到 VR 错误。示例:
let simple (s:string)= fun rq->1
let oops= simple ""
type 'a SimpleType= F of (int ->'a-> 'a)
let get a = F(fun req -> id)
let oops2= get ""
我想知道这是 VR 的特定实现的问题,还是在类型系统中不包含突变的可变类型推断语言中没有解决方案的一般问题。
【问题讨论】:
-
您介意将其改写为一个有意义的问题吗?
-
我不是函数式编程专家,但这种限制不是其他函数式语言(例如 Haskell)不共享的类 ML 语言的特性吗?如果是这样,您可能需要相应地标记您的问题。
-
我的问题是:可变性是否意味着推断函数语言中的严格 VR。
标签: functional-programming type-inference higher-order-functions mutability