将 PureScript 函数编译为非柯里化 JavaScript 函数
Compile PureScript function to uncurried JavaScript function
以下 PureScript 函数:
add :: Number -> Number -> Number
add a b = a + b
... 编译为 JavaScript 如下:
var add = function (a) {
return function (b) {
return a + b;
};
};
我想使用 JavaScript 核心框架在 iOS 上调用此函数,这使得它比需要的更复杂。有没有编译成非柯里化函数的方法?
看看 Data.Function.Uncurried
中的函数 - mkFnN
帮助程序将允许您从 PS-curried 版本定义 JS 多参数函数。
权衡是您将无法在 PS 中以正常方式调用这些函数,您还必须使用相应的 runFnN
。不过,如果此模块仅公开 FFI 接口,则不是真正的问题。 :)
以下 PureScript 函数:
add :: Number -> Number -> Number
add a b = a + b
... 编译为 JavaScript 如下:
var add = function (a) {
return function (b) {
return a + b;
};
};
我想使用 JavaScript 核心框架在 iOS 上调用此函数,这使得它比需要的更复杂。有没有编译成非柯里化函数的方法?
看看 Data.Function.Uncurried
中的函数 - mkFnN
帮助程序将允许您从 PS-curried 版本定义 JS 多参数函数。
权衡是您将无法在 PS 中以正常方式调用这些函数,您还必须使用相应的 runFnN
。不过,如果此模块仅公开 FFI 接口,则不是真正的问题。 :)