PugsPugs es un compilador y un intérprete del lenguaje de programación Perl 6, cuyo desarrollo comenzó el 1 de febrero de 2005 por Audrey Tang. El desarrollo de Pugs se ha parado, poniendo la mayor parte de los esfuerzos de implementación de Perl 6 en Rakudo; sin embargo su repositorio de código fuente se sigue usando para almacenar el conjunto de pruebas oficial de Perl 6. SumarioEl proyecto Pugs tiene como objetivo permitir el bootstrap de Perl 6 mediante la implementación de la especificación completa de Perl 6, como se detalla en sus Synopsis. Está escrito en Haskell, en particular usando el Compilador de Haskell de Glasglow. Pugs incluye dos ejecutables principales:
Pugs es software libre, distribuible bajo los términos de la licencia pública GNU o la Licencia Artística.[1] Estos son los mismos términos de la licencia de Perl. VersionesLos números mayores y menores de las versiones de Pugs convergen a 2π (un esquema que recuerda a TeXy METAFONT, que usan esquemas similares); cada dígito significativo de la versión menor representa un hito completado con éxito. El tercer dígito es incrementado para cada liberación. Los hitos hasta ahora son:
Compatibilidad con Perl 5En la versión 6.2.6, Pugs tiene la habilidad de aceptar Perl 5 y usar los módulos de CPAN instalados en el sistema. El siguiente ejemplo muestra el uso del popular módulo Perl DBI para gestionar una base de datos: #!/usr/bin/pugs
use v6;
use perl5:DBI;
my $dbh = DBI.connect('dbi:SQLite:dbname=test.db');
$dbh.do("CREATE TABLE Test (Project, Pumpking)");
my $sth = $dbh.prepare("INSERT INTO Test VALUES (?, ?)");
$sth.execute(<PGE Patrick>);
$sth.execute(<Pugs Audrey>);
$sth.execute(<Parrot Leo>);
my $res = $dbh.selectall_hashref('SELECT * FROM Test', 'Pumpking');
# Just another Pugs hacker
say "Just another $res<Audrey><Project> hacker";
Modelo de DesarrolloVarios factores han sido sugeridos como razones del progreso de Pugs:
A pesar de estos factores, el progreso en el propio Pugs se ralentizó durante 2006 debido a temas personales que impidieron que Audrey consagrara tanto tiempo al proyecto como en 2005. Aunque el desarrollo continua, pocos contribuyentes trabajan activamente en el intérprete basado en Haskell, lo cual hace su progreso mucho más lento de lo que mucha gente esperaba al principio del proyecto. ReferenciasEnlaces externos
|