Rakudo Perl

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Rakudo Perl est un compilateur qui implémente les spécifications du langage de programmation Perl 6, et les exécute dans la machine virtuelle Parrot. Rakudo Perl est actuellement (2013) en développement. La fondation Perl détient le copyright du projet.

À l'origine Rakudo Perl était développé au sein du projet Parrot. Le code source a été séparé du projet en février 2009, de sorte qu'il puisse être développé indépendamment, mais il y a encore une très forte dépendance. Un des objectifs est de réécrire en utilisant des méthodes de plus haut-niveau de la syntaxe Perl 6, au lieu de Parrot Intermediate Representation (PIR), un langage assembleur. Rakudo Perl utilise plusieurs langages de programmation pour implémenter la spécification Perl 6.

Les publications mensuelles de Rakudo surviennent trois jours après celles de Parrot de façon à ce que les derniers changements puissent être implémentés[réf. nécessaire]. Rakudo Perl #14 a été publié en février 2009 sous, le nom de code Vienna. Depuis avril 2008 le groupe Perl Mongers sponsorise un des développeurs[réf. nécessaire]. Les publications suivantes ont utilisé un nom de code basé sur un groupe Perl Mongers. Par exemple la version d'octobre 2011 s'appelle Houston.

La première version majeure d'une distribution, constituée du compilateur et de modules (appelé Rakudo * ou Rakudo Star) a été publiée le 29 juillet 2010. Depuis la publication de janvier 2011, les suivantes sont publiées tous les trois mois, puis tous les mois depuis 2012.

Le nom de Rakudo pour Perl 6 du compilateur Parrot a d'abord été suggéré par Damian Conway. Rakudo est le diminutif de Rakuda-dō (avec un long o 駱駝道), qui en japonais signifie le chemin du chameau. Rakudo (avec un o court) signifie paradis en japonais.

Le terme Rakudo Perl a aussi été choisi pour distinguer l'implémentation du langage (Rakudo) du nom de la spécification (Perl 6).

Liens externes[modifier | modifier le code]

Sources et références[modifier | modifier le code]