使用ghcjs
编译Haskell模块为JS是否可能?我尝试了一下,但似乎需要先定义main
函数才能生成JS。以下是玩具代码:
module Test where
add :: Int -> Int -> Int
add x y = x + y
我不知道如何使用ghcjs
将其编译为JS。如果没有定义主函数,它只会编译.hi和.o文件。如果我能找到一种方法将其编译为JS(使用适当的Z-encoded
函数名称和相应的JS对象,就像在C中使用FFI
一样),那么我可以使用更强大的Haskell库(如unordered-containers
和vector
)来实现某些算法,编译为JS,并通过JS FFI在Elm
中使用。
看起来Fay
有这个能力。我想先在ghcjs
上调查一下它。
ghcjs Test.hs
命令,其中Test.hs是上面的代码。ghcjs声称它正在“生成JavaScript”,但我没有看到任何js代码。我使用的版本是0.1.0。 - Salghcjs -c Test.hs
吗?这样做效果更好吗? - Joachim Breitner