• [^] # Re: Bytecode VS natif

    Posté par (site web personnel) . En réponse à la dépêche OCaml en 2021. Évalué à 5.

    soit générer un bytecode destiné à une VM spécifique (le code est portable, il "suffit" que la VM ait été portée sur la plateforme, comme d'habitude)

    • Le compilateur ocamlc génère effectivement du bytecode pour une VM qui est effectivement écrite en C, et donc portable sur n'importe quelle plateforme. Il a même été écrit une VM sur PIC18F
    • Il existe effectivement un vieux projet qui génère du C à partir du bytecode, d'ailleurs du même auteur qu'Ocapic

    De ce que j'ai compris, générer du C à partir d'OCaml est compliqué de par des problèmes de différences de sémantiques entre le OCaml et le C. Mais d'autres ici t'expliqueront ça surement bien mieux que moi.

    Il a effectivement existé des tentatives d'écrire un backend LLVM, mais les derniers travaux datent d'il y a presque 10 ans. Pourquoi cela n'a pas été continué ?
    Dommage, Haskell l'utilise et cela permettrait certainement des optimisations et un fort accroissement d'architectures utilisables.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker