Je ne cherche pas une solution nécessairement super robuste avec un enregistrement de piste de 10 ans, mais pour quelque chose qui peut être utilisé dans une vraie application, et va au-delà de pouvoir exécuter un exemple de monde Hello World.
Ma préférence est d'exécuter le compilateur sur le serveur afin que je puisse compiler le code HASKELL à l'avance. Bien sûr, la solution devrait être plus qu'un simple compilateur et activer le code HASKELL pour accéder à l'API disponible sur le navigateur (DOM, XHR ...).
Note de bas de page: Les projets que j'ai vus jusqu'à présent ne semblent pas être entretenus activement, ni d'aller au-delà de pouvoir diriger "Hello World", ou même pour aller au-delà d'une description de projet.
Il y a une liste plus complète ici:
http://www.hakell.org/hakellwiki/the_javascript_problem
et il y a aussi FAY (bien que ce ne soit qu'un sous-ensemble de haskell)
Vous trouverez peut-être cette liste utile: https://github.com/jashkenas/coffee-script/wiki/list-of-languages-that-compile-à-js
De la liste:
* 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
Je sais que ce n'est pas Haskell, mais le script de café est une expression basée sur l'expression et plutôt élégant IMHO.
Alors que les GHCJ ne semblent pas être activement maintenus, EMSCRIPTEN semble être assez courant.
Je vais admettre que c'est un poste spéculatif.
J'ai trébuché sur ce projet appelé GHCJ
Cela semble prometteur!
Devis du README
:
Haskell à JavaScript Traducteur
Le projet vise à fournir une solution à
- compiler des bibliothèques de haskell modernes aux fichiers JavaScript et les utiliser dans Ajax Applications ou
- développer une application AJAX entière dans la langue Haskell
La version précédente du projet est située à VIR.MSKHUG.R .
Cette langue, Roy , n'est peut-être pas vraiment haskell (?), Mais il semble très similaire:
Roy semble être vivant; Il y a beaucoup de fourches dans le repo GitHub: https://github.com/pufuwozu/roy
[.____] et il semble être en vie: https://github.com/pufuwozu/roy/graphes
[.____] Si vous utilisez Play Framework 2.0, il y a un plugin, Ray , pour exécuter ROY sur Play Framework 2.0:
http://brianmckenna.org/blog/ray
[.____] https://github.com/pufuwozu/ray
La dernière validation était il y a quatre mois, ce qui est plutôt si longtemps en gardant à l'esprit que le cadre de jeu 2 a été publié il y a peut-être 4 ou 5 mois.
Il y a une liste de candidats "la plupart des niveaux de production" de Yesod: https://github.com/yesodweb/yesod/wiki/javascript-Options (Yesod est un webframwork de haskell très populaire afin qu'ils puissent savoir de quoi ils parlent)