使用ghcjs将Haskell模块编译为Javascript

时间:2014-06-11 03:16:32

标签: haskell ghcjs

是否可以使用ghcjs将Haskell模块编译为JS?我玩它,但它似乎需要在生成JS之前定义main函数。下面的玩具代码:

module Test where

add :: Int -> Int -> Int
add x y = x + y 

我无法弄清楚如何使用ghcjs将其编译为JS。如果未定义main函数,它将仅编译.hi和.o文件。如果我能找到一种方法将它编译成JS(具有适当的Z-encoded函数名称和相应的JS对象,就像我们在FFI中对C的那样,那么我可以使用更强大的Haskell像unordered-containersvector这样的库来实现一些算法,编译成JS,并通过JS FFI在Elm中使用。

Fay似乎能够做到这一点。我想首先对ghcjs进行调查。

1 个答案:

答案 0 :(得分:6)

我刚刚在IRC询问了ghcjs作者(luite),他说,"没有好办法直接导出图书馆。"

但是,他似乎对支持这种能力非常感兴趣,所以我希望并乐观地认为这将在不久的将来发生变化。观看此问题的地方是the ticket requesting this feature on github