Компиляция модуля Haskell в Javascript с помощью ghcjs

Можно ли скомпилировать модуль Haskell для JS с помощью ghcjs? Я играл с ним, но, похоже, для определения функции JS требуется функция main. Код игрушки ниже:

module Test where

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

Я не могу понять, как скомпилировать его в JS, используя ghcjs. Он будет компилировать только файлы .hi и .o, если основная функция не определена. Если я смогу найти способ скомпилировать его в JS (с соответствующим именем функции Z-encoded и соответствующим JS-объектом, например, тем, что у нас есть в FFI для C), тогда я мог бы использовать более мощные библиотеки Haskell, такие как unordered-containers и vector для реализации некоторого алгоритма, компиляции в JS и использования в Elm через JS FFI.

Fay, похоже, способен это сделать. Сначала я хотел бы изучить его для ghcjs.

Ответ 1

Я только что спросил у ghcjs author (luite) в IRC, и он сказал: "Пока еще нет прямого экспорта библиотеки".

Он действительно очень заинтересован в поддержке этой возможности, поэтому я надеюсь и оптимистично, что это изменится в ближайшем будущем. Место для просмотра этой проблемы - билет, запрашивающий эту функцию в github.