• [^] # 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é à 1.

    En effet, je me suis mal exprimé.

    Je voulais savoir pourquoi ocaml était un choix rationnel, ou plutôt, pourquoi malfunction produit du Lambda plutôt que du Scheme par exemple. À priori, je n'avais pas vu la grosse différence entre les deux langages. Pour moi on y trouvait

    1. Un langage avec des S-expressions
    2. Un garbage collector
    3. Une compilation efficace

    Mais il est vrai que la gestion des types sommes peut être pénible. L'argument qui consistait à préférer un scheme était celui de dire que contrairement à Lambda, il serait spécifié (un souci de moins).

    Lambda lui-même n'est pas proposé comme cible directe pour les autres langages et

    Oui mais il est utilisé, enfin, c'est le backend.

    Une question plus pertinente (puisque visiblement les types sommes en Scheme c'est vraiment peu performant) serait : pourquoi ne pas compiler vers GHC Core. Ici, on a encore un truc interne et pas forcément stable, mais la définition à le mérite d'être assez simple (au moins en surface). Par contre, il faudrait écrire Malfunction en haskell (pour générer l'AST reconnu par GHC Core).