javascript - 将 PureScript 函数编译为未柯里化(Currying)的 JavaScript 函数

标签 javascript currying purescript

以下 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/

相关文章:

javascript - PHP 和 AJAX 不能一起工作

javascript - 表格单元格未将其 ID 传递到我的函数参数中

haskell - 一元谓词检查字符串中的字符

swift - 来自不同类的引用方法作为柯里化(Currying)函数

haskell - 在 Purescript 中操作自由 Monad

android - 流程发布资源

javascript - 什么是 Array.map(Function.call,Number)

javascript - 火狐浏览器奇怪的问题

javascript - 仅将第二个参数绑定(bind)到 javascript 函数

haskell - Purescript 中的惯用 Haskell RLE