|
Sommaire
|
|
Introduction
|
|
|
|
|
La prochaine version majeure de Perl a été annoncée en l'an 2000 par son concepteur, Larry Wall. L'objectif initial de Perl était de débarrasser Perl de ses incohérences et erreurs - pour Wall, ses "verrues historiques". Selon ses termes, il s'agissait de conserver ce qui est déjà facile, faciliter ce qui est difficile, et rendre seulement difficile ce qui est impossible (en anglais, easy things should stay easy, hard things should get easier, and impossible things should get hard).
Sur cette base, la communauté a proposé un grand nombre de modifications, sous forme de RFC (Requests for Comments), triées par Wall, qui a ensuite pris en charge la rédaction des spécifications du langage. Pour se libérer du passé, la compatibilité avec Perl 5 n'est pas requise, mais possible via un mode de compilation Perl 5. Par ailleurs, les développeurs travaillent à un traducteur automatique de code Perl 5 vers Perl 6.
Perl 6 devrait offrir en standard de nombreuses fonctionnalités absentes de Perl 5. Parmi celles-ci : typage fort explicite, gestion complète des exceptions Objet, jonctions, surcharge de sous-routine, support concurrent de plusieurs versions d'un module, arguments et regex nommés, délégation de méthode, variables hypothétiques, opérateurs choisis par l'utilisateur (basés sur Unicode), curryfication de fonction, comparaisons chaînées, hyperopérateurs...
L'une des premières implémentations fonctionnelles de la spécification Perl 6 se nomme Pugs, et a été conçue avec le langage Haskell. De fait, certaines nouveautés de Perl 6 proviennent des langages fonctionnel comme Haskell, par exemple la curryfication de fonction (currying) ou l'évaluation paresseuse (lazy evaluation).
Le compilateur Perl 6 fonctionnera sur la machine virtuelle Parrot, conçue pour Perl mais capable d'accueillir d'autres langages, parmi lesquels on compte déjà PHP, Python, Ruby, Lisp, Tcl, Scheme ou encore BASIC.
Il n'existe pas à l'heure actuelle de date de sortie de Perl 6, mais l'année 2007 devrait en voir les premiers fruits.
|