• [^] # Re: Clojure

    Posté par . En réponse à la dépêche À la découverte d'un nouveau langage, Elm. Évalué à 3.

    À ma connaissance, l'état de l'art pour produire du code JavaScript à partir de Haskell est ghcjs. Comme son nom l'indique, la conversion se fait au niveau de l'API de GHC (Glascow Haskell Compiler, l'implémentation de référence du langage Haskell depuis bien longtemps, pour ceux qui ne connaîtraient pas l'écosystème de Haskell).

    Il y a toutes sortes d'avantages par rapport aux méthodes qui tenaient la corde avant ghcjs, notamment haste et fay. L'un est que l'on écrit du code Haskell relativement classique, puisque la conversion en JS se fait à un niveau assez bas. Un autre est, paraît-il, la rapidité et la compatibilité. Mais je n'ai essayé que ghcjs.

    Mon expérience est toutefois très limitée. J'avais essayé surtout par curiosité, et je n'avais pas été convaincu. J'avais l'impression de devoir écrire bien plus de code en Haskell que son équivalent JavaScript, avec des dizaines de modules et fonctions idoines à apprendre, pour un résultat (post-compilation) énorme et assez cryptique. En compensation, je bénéficiais des types algébriques et autres conforts fournis par Haskell. Pour être rentable, il aurait fallu avoir à écrire une grosse appli JS. C'était il y a un an, et ghcjs s'est sûrement amélioré. Pour voir à quoi ça ressemble, il y a les exemples officiels, notamment le helloworld (qui va bien au-delà de "hello, world!").