Haskell на JVM? - PullRequest
       66

Haskell на JVM?

80 голосов
/ 31 августа 2011

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

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

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

Ответы [ 4 ]

77 голосов
/ 16 сентября 2011

Возможно, вы захотите исследовать Фреге .Цитата с этой страницы:

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

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

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

20 голосов
/ 13 января 2017

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

11 голосов
/ 02 сентября 2011

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

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

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

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

9 голосов
/ 20 февраля 2012

Существуют большие, но преодолимые препятствия для строительства GHC для JVM:

http://www.haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM.3F

(У вас есть запасной год или два, чтобы это произошло?)

...