Journal : Parrot avance

Posté par d-jo (page perso, ) le 21 mars 2007
0
Avec le sortie hier de la version 0.4.10, le développement de Parrot, la VM communautaire, suit son rythme.

Pas de révolution pour cette version qui apporte son lot de nouveautés (je ne détaille pas le changelog, n'étant pas en mesure de tout expliquer).

Pour mémoire Parrot est une machine virtuelle originale qui sert de fondement à l'interpréteur Perl6, mais qui est aussi capable de se débrouiller avec d'autres langages comme lua, ruby, python, tcl ...

Basée sur des choix techniques audacieux (registres, concepts venus du Lisp), elle reprends avec bonheur le principe de la compilation "juste au bon moment" (JIT) qui à entre autre permis à des langages comme java d'offrir des performances honorables par rapport aux langage compilés nativement.



Parrot fait avancer Perl de manière certaine. Gageons qu'il en sera de même pour d'autres langages ce qui permettrait à terme d'avoir la possibilité d'utiliser une seule et unique VM pour un ensemble de langages, permettant par la même des optimisations plus profondes (on pensera évidement à l'embarqué). On imagine également les possibilités offertes pour interfacer différents modules écrits en différent langages.

Liens
_ Le site : http://www.parrotcode.org/
_ L'annonce : http://www.parrotcode.org/news/2007/Parrot-0.4.10.html
_ Les langages supprotés : http://www.parrotcode.org/languages/
_ Sur wikipedia : http://fr.wikipedia.org/wiki/Parrot et http://fr.wikipedia.org/wiki/Perl_6

> Lire le journal (11 commentaires, moyenne: 2,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

JIT ?

Posté par Étienne Bersac (Jabber id, page perso, ) le 21/03/2007 à 09:02. (lien). Évalué à 1.

Salut,

J'aurai utilisé plutôt "juste-à-temps" plutôt que "juste au bon moment".

Mes 2 sous.

Étienne.

--
E Ultreïa !
  • [^]Re: JIT ?

    Posté par d-jo (page perso, ) le 21/03/2007 à 09:09. (lien). Évalué à 1.

    J'avais hésité. En fait il faudrait rendre l'idée de tempo.

    "Dans le mouveu"

    =========>

  • [^]Re: JIT ?

    Posté par fasthm () le 21/03/2007 à 10:19. (lien). Évalué à 2.

    "compilation synchrone" ?

    • [^]Compilation à la volée

      Posté par Bruno Ethvignot (page perso, ) le 21/03/2007 à 10:34. (lien). Évalué à 7.

      Compilation à la volée
      http://fr.wikipedia.org/wiki/Compilation_%C3%A0_la_vol%C3%A9(...)

      La compilation à la volée, aussi connue sous le nom de traduction dynamique (just-in-time compilation ou JIT en anglais), est une technique visant à améliorer la performance de systèmes bytecode-compilés par la traduction de bytecode en code machine natif au moment de l'exécution. La compilation à la volée se base sur deux anciennes idées: la compilation de bytecode et la compilation dynamique.

Autres machines virtuelles

Posté par Victor STINNER (page perso, ) le 21/03/2007 à 09:13. (lien). Évalué à 4.

« ce qui permettrait à terme d'avoir la possibilité d'utiliser une seule et unique VM pour un ensemble de langages, permettant par la même des optimisations plus profondes » : cette description me fait penser à Mono voir aussi à LLVM :-) Mono supporte les langages C#, Java, JavaScript, Python et VisualBasic.NET. Il a un compilateur JIT qui a l'air bien costaux. Je ne sais pas quels langages tournent dans LLVM. J'ai trouvé C, Objective C, C++ et Python, mais il doit en avoir d'autres.

J'avais testé Pirates (Python pour Parrot), mais c'était vraiment pas avancé du tout (genre on pouvait à peine faire 1+1).

  • [^]Re: Autres machines virtuelles

    Posté par d-jo (page perso, ) le 21/03/2007 à 09:42. (lien). Évalué à 4.

    >J'avais testé Pirates (Python pour Parrot), mais c'était vraiment pas avancé du tout (genre on pouvait à peine faire 1+1).

    Il semble que ruby, lua et TCL soient bien plus avancés (pas testé)

    >cette description me fait penser à Mono

    Bien sur d'ailleurs Mono est posterieur à Parrot.
    L'idée principale est d'avoir une VM appropriée à des langages qui ne sont pas fortement typés.

    Je crois aussi, qu'il y a des possibilités au niveau des grammaires et autres arbres lexicaux que les autres VM n'ont pas (à préciser).

    De plus, tout implémentation, aussi libre soit elle de java ou .NET est fortement contrainte par une implémentation de réference. Ce n'est pas le cas de Parrot ce qui lui permet de s'engager dans des voies nouvelles.

    • [^]Re: Autres machines virtuelles

      Posté par Thomas () le 21/03/2007 à 10:38. (lien). Évalué à 3.

      L'idée principale est d'avoir une VM appropriée à des langages qui ne sont pas fortement typés.

      Adaptée à des langages à typage dynamique plutôt. Ruby est assez fortement typé, lua et TCL je n'en ai aucune idée, je ne les connais pas.

      • [^]Re: Autres machines virtuelles

        Posté par left () le 21/03/2007 à 10:54. (lien). Évalué à 3.

        TCL est hyper typé: toutes les variables sont de type string ;)

      • [^]Re: Autres machines virtuelles

        Posté par d-jo (page perso, ) le 21/03/2007 à 11:13. (lien). Évalué à 2.

        Dans la FAQ c'est "not statically typed" donc dynamique effectivement.

  • [^]Re: Autres machines virtuelles

    Posté par lurker () le 22/03/2007 à 12:25. (lien). Évalué à 2.

    Je ne sais pas quels langages tournent dans LLVM. J'ai trouvé C, Objective C, C++ et Python, mais il doit en avoir d'autres.


    Certains envisagent comme projet SoC de porter le frontend Fortran de GCC 4.2 vers LLVM. Sinon il y a aussi HLVM[0] qui est un peu au point mort mais d'après ce qui se murmure sur llvm-dev risque de repartir de bon train.

    [0] : http://hlvm.org/

    --
    /o/

Q? Cible pour pypy

Posté par Laurent Pointal (page perso, ) le 21/03/2007 à 13:40. (lien). Évalué à 2.

Est-ce que Parrot est dans les VM cibles de Pypy ?

--
(pub: Livres à prix réduit sur http://www.sollire.com/ - la boutique de mes petites soeurs)

Revenir en haut de page