web-dev-qa-db-fra.com

Haskell sur JVM?

Je me demande s'il existe un moyen de faire fonctionner Haskell sur la JVM (compilé ou interprété)?

Il existe JHaskell sur Sourceforge mais celui-ci semble vide et mort.

GHC utilise LLVM comme backend du compilateur. Serait-ce une bonne idée ou possible de compiler LLVM en Java bytecode? Ou peut-être utiliser un backend de compilateur différent?

80
jeha

Vous voudrez peut-être enquêter Frege . Citant de cette page:

"Frege est un langage de programmation fonctionnel non strict et pur dans l'esprit de Haskell."

"Les programmes Frege sont compilés en Java et exécutés dans une JVM."

Basé sur une brève lecture de la spécification du langage, Frege semble être presque un clone Haskell. Peut-être que l'expression "dans l'esprit de Haskell" est simplement destinée à établir l'attente appropriée.

77
Daniel Pratt

Haskell fonctionne à merveille sur la JVM. Voir Eta , un projet qui apporte Haskell GHC 7.10.3 complet sur la JVM avec interopérabilité de type Java Java).

20
rahulmutt

La seule langue que je connaisse qui soit proche de haskell dans la JVM est CAL. CAL est fortement basé sur haskell mais il n'a pas toutes les fonctionnalités de haskell. Le système de type est similaire à Haskell 98, et le sucre syntaxique comme la notation do est manquant.

Voici une comparaison de Haskell et CAL: CAL pour les programmeurs Haskell

Le plugin Eclipse est très poli et utile.

Notez que CAL fait partie du framework Open Quark.

11
islon

Il existe des obstacles importants mais surmontables à la construction du GHC à la JVM:

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

(Vous avez une ou deux années de rechange pour y arriver?)

9
amindfv