【发布时间】:2014-01-17 05:45:11
【问题描述】:
例如,Haskell 中的mask 是(((forall a . IO a -> IO a) -> IO b) -> IO b) 类型。这种功能的目的是什么?欢迎任何具有高阶函数概念的语言。
为了准确起见,仅包括在公共库中定义或在实时代码中使用的函数。
【问题讨论】:
-
您可能还想定义“订单”。例如,表面上
mask是 0 阶(IO a是 0 阶的“值”,mask的参数是 2 阶,因为它以 1 阶的函数作为参数,mask本身是 3 阶)。但是,如果您将IO视为状态传递函数,那么一切都会上升一个档次。 -
我不确定我是否理解。你说的顺序,是指类型的等级还是函数类型有多少级?
-
@GaneshSittampalam:“
mask是 0 号订单”和“mask本身是 3 号订单”是什么意思? -
对不起,这是一个错误。我的意思是订单 3。
-
我在这方面含糊其辞,我同意。我对类型的等级或函数类型的级别都很满意,因为我无法决定我最感兴趣的是什么。为稍微拉扯链条道歉。
标签: functional-programming higher-order-functions