以下 PureScript 函数:
add :: Number -> Number -> Number
add a b = a + b
...编译成 JavaScript 如下:
var add = function (a) {
return function (b) {
return a + b;
};
};
我想在 iOS 上使用 JavaScriptCore 框架调用这个函数,这使得它比需要的更复杂。有没有办法编译成非柯里化(Currying)函数?
最佳答案
看看Data.Function.Uncurried
中的函数- mkFnN
帮助程序将允许您从 PS-curried 版本定义 JS 多参数函数。
代价是您将无法在 PS 中以正常方式调用这些函数,您还必须使用相应的 runFnN
。不过,如果此模块仅公开 FFI 接口(interface),则不是真正的问题。 :)
关于javascript - 将 PureScript 函数编译为未柯里化(Currying)的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46555100/