• [^] # Re: Représentations intermédiaires du compilateur OCaml

    Posté par . En réponse au journal Malfunction: réutiliser la représentation intermédiaire du compilateur OCaml. Évalué à 3. Dernière modification le 26 juin 2016 à 22:07.

    La question était : pourquoi ocaml ? [...] Juste pourquoi le mec qui fait malfunction utilise ocaml. C'est tout.

    En même temps, si tu ne lis pas les raisons données par le principal intéressé :

    Why re-use OCaml's back-end specifically, when there are plenty of other compilers available? The central issues are efficiency and garbage collection.

    Extrait de son abstract de présentation pour le ML Workshop, seconde partie : Why OCaml ?. ;-)

    Il aborde même la solution de Scheme à laquelle il objecte :

    Dynamic languages, such as Scheme, Smalltalk or Javascript, are easy to compile to and have reasonably fast implementations. However, when running statically typed functional programs, time is wasted on runtime type checks.

    Malfunction s'adresse aux personnes qui veulent obtenir rapidement un compilateur performant pour des langages fonctionnels statiquement typé (ce pourquoi ce langage est essentiellement du lambda-calcul non typé). Les systèmes de typage statique semble être le sujet d'étude de l'auteur, et l'exemple qu'il fournit pour Idris (écrit en Haskell) correspond à un langage avec types dépendants. Le développeur du langage peut alors se concentrer uniquement sur son type checker et sa compilation vers Malfunction qui se chargera alors de passer la main au back-end OCaml.

    Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.