Ответ 1
Здесь есть более полный список:
http://www.haskell.org/haskellwiki/The_JavaScript_Problem
и существует также Fay (хотя это только подмножество haskell)
Я не ищу непревзойденного супер-надежного решения с 10-летней историей, но для чего-то, что можно использовать в реальных приложениях, и выходит за рамки просто возможности запуска примера Hello World.
Мое предпочтение заключается в том, чтобы запустить компилятор на сервере, поэтому я могу заранее скомпилировать код Haskell. Конечно, решение должно быть больше, чем просто компилятором, и включить код Haskell для доступа к API, доступному в браузере (DOM, XHR...).
Сноска: проекты, которые я видел до сих пор, похоже, не поддерживаются активно или не могут запускать "Hello world", или в некоторых случаях даже выйти за рамки описания проекта.суб >
Здесь есть более полный список:
http://www.haskell.org/haskellwiki/The_JavaScript_Problem
и существует также Fay (хотя это только подмножество haskell)
Вы можете найти этот список полезным: https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS
Из списка:
* UHC (Utrecht Haskell Compiler) backend converts UHC core to JavaScript, allowing the compiling of Haskell code to JS.
* YHC (York Haskell Compiler) backend, as above but with YHC core language.
* jshaskell
Я знаю его не Haskell, но Coffee script - это выражение на основе и довольно элегантное IMHO.
Я наткнулся на этот проект под названием ghcjs
Кажется многообещающим!
Цитата из README
:
Переводчик Haskell на Javascript
Цель проекта - предоставить решение для
- скомпилировать современные библиотеки Haskell в файлы Javascript и использовать их в приложениях Ajax или
- разработать полное приложение Ajax на языке Haskell
Предыдущая версия проекта находится в vir.mskhug.ru.
В то время как GHCJS, похоже, активно не поддерживается, Emscripten кажется довольно актуальным.
Я признаю, что это спекулятивный пост.
Этот язык, Roy, возможно, не совсем Haskell (?), но он кажется очень похожим:
Рой, кажется, жив; в репозитории GitHub есть много вилок: https://github.com/pufuwozu/roy
Если вы используете Play Framework 2.0, то есть плагин Ray, чтобы запустить Roy на Play Framework 2.0:
http://brianmckenna.org/blog/ray
https://github.com/pufuwozu/ray
Последнее совершение было четыре месяца назад, что довольно давно, имея в виду, что Play Framework 2 был выпущен, возможно, 4 или 5 месяцев назад.
Существует список кандидатов на "самый производственный уровень" из Yesod: https://github.com/yesodweb/yesod/wiki/Javascript-Options (Yesod - очень популярная веб-рамка Haskell, чтобы они могли знать, о чем они говорят)