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
Un langage avec des S-expressions
Un garbage collector
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).
[^] # Re: Représentations intermédiaires du compilateur OCaml
Posté par Aluminium95 . 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
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).
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).