• [^] # 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é à 0. Dernière modification le 26 juin 2016 à 21:42.

    Je crois qu'il y a incompréhension mutuelle.

    La question était : pourquoi ocaml ? Pas pourquoi malfunction, pas pourquoi un mec voudrait écrire un compilateur rapidement, pas pourquoi est-ce que mettre dans le pointeur l'information d'un type somme c'est cool. Juste pourquoi le mec qui fait malfunction utilise ocaml. C'est tout. À partir de là, encore une fois, tes réponses sont à côté de la question, parce que la majorité de ce que tu dis concerne un mec qui veut utiliser malfunction.

    Encore une fois, la syntaxe importe peu. Malfunction permet d'utiliser le back-end d'OCaml (

    Oui, c'est justement la question.

    Bah euh, c'est justement le point. Malfunction offre juste un langage intermédiaire.

    Mais j'en ai rien à faire ! Je te demande pourquoi utiliser ocaml quand tu pouvais par exemple utiliser des macros scheme. C'est le mec qui code malfunction qui se fait chier, pas l'utilisateur final (qui de toute manière, cherche au départ à coder un compilateur, rappelons le).

    J'en conclus donc

    Donc je vois pas trop ce que tu essayes de dénoter ici.

    Idem. Je ne vois pas en quoi tes arguments sont pertinents.

    C'est là où on voit que tu as une méconnaissance de l'objectif réel de Malfunction. Bien entendu que tu peux faire toi même un back-end vers ASM x86 ayant une représentation optimisé des types sommes mais la véritable question est: est ce que tu veux réellement produire toi même de l'ASM x86 ?

    Je n'ai JAMAIS dit que je voulais complier directement du malfunction vers de l'ASM x86, c'était juste une petite pique pour préciser que l'argument avancé n'avait aucune valeur. C'était pourtant assez clair (il me semble).

    Pour revenir sur la stabilité

    une abstraction d'une représentation intermédiaire (le Lambda)

    Oui, j'ai même dit que malfunction offrait une interface stable, la question c'est pourquoi ne pas avoir choisi un langage stable pour faire le reste du boulot. C'est peut-être pour des raisons techniques intéressantes, comme par exemple la performance de la gestion des types sommes, comme tu l'as laissé entendre, et ça c'est un argument pertinent.

    pour finir

    et c'est bien la raison de Malfunction.

    Oui ... on est bien d'accord, on ne parle juste pas de la même chose.

    Pour reprendre. Malfunction compile vers Lambda, qui est un langage basé sur des S-expressions qui n'est pas standardisé, mais qui est une représentation intermédiaire du langage ocaml, ce qui permet d'être compilé efficacement. Je demande si on ne pourrait pas imaginer utiliser un scheme à la place de lambda : basé sur des s-expressions, standardisé, qui bénéficie d'un compilateur efficace. Je ne dis pas que c'est une idée géniale, juste que pour l'instant je n'ai pas été convaincu par tes arguments.

    EDIT: je me suis trompé de destinataire, j'ai mal cliqué pour la réponse :-.