Haskell на JVM?

Мне интересно, есть ли способ заставить Haskell работать на JVM (скомпилирован или интерпретирован)?

Существует JHaskell на Sourceforge, но этот кажется пустым и мертвым.

GHC использует LLVM в качестве компилятора. Было бы хорошей идеей или возможно скомпилировать LLVM для Java-байт-кода? Или, может быть, использовать другой компилятор?

Ответ 1

Вы можете изучить Frege. Цитата из этой страницы:

"Frege - нестрогий, чистый функциональный язык программирования в духе Haskell".

"Программы Frege скомпилированы в Java и запускаются в JVM".

Основываясь на кратком прочтении спецификации языка, Фреге кажется почти клоном Haskell. Возможно, фраза "в духе Haskell" проста, чтобы установить правильное ожидание.

Ответ 2

Единственный язык, который я знаю, который близок к haskell в JVM, является CAL. CAL сильно зависит от haskell, но у него нет всех функций haskell. Система типов похожа на Haskell 98, а синтаксический сахар, такой как обозначение do отсутствует.

Здесь сравнение Haskell и CAL: CAL для программистов Haskell

Плагин eclipse очень полирован и полезен.

Обратите внимание, что CAL является частью структуры Open Quark.

Ответ 4

Haskell прекрасно работает на JVM. См. Eta, проект, который обеспечивает полный GHC 7.10.3 Haskell на JVM с безопасным Java-взаимодействием.