Pugs

Pugs
Audrey Tang ist Initiatorin und Leiterin des Pugs-Projektes

Pugs ist ein alternativer Interpreter und Compiler für Perl 6, der in Haskell (GHC) geschrieben wird. Das Softwareprojekt wurde am 1. Februar 2005 von Audrey Tang begonnen, um die Entstehung von Perl 6 zu unterstützen. Es ist eine freie Software, die wahlweise unter der GPL oder der Artistic License verwendet werden darf.

Inhaltsverzeichnis

Zweck

Zum einen dient Pugs als Testimplementierung für den Perl 6-Parser. Wesentliche Fehler, die in Pugs gemacht wurden, können dann später vermieden werden, aber es wird auch Syntax-Schwächen im Entwurf der Sprache Perl 6 zu einem Zeitpunkt aufzeigen, an dem Korrekturen noch relativ einfach möglich sind.

Zum anderen wird der eigentliche (in Perl 6 geschriebene) Perl 6-Parser ein Programm sein, das von Pugs zu Parrot-Bytecode kompiliert wird. Bereits heute ist es möglich, mit Pugs Parrot-Code zu erzeugen, oder von Parrot erzeugten Parrot-Code mit Pugs zu kompilieren. Seit Version 6.2.8 kann Pugs auch Perl 6-Code zu Perl 5 kompilieren. Pugs hilft auch, Engpässe zu umgehen, da Sprache als auch Parrot noch nicht vollständig fertig sind. Detaillösungen, wie die Test-Suite, können bereits entwickelt werden, obwohl andere, technisch dafür notwendige Teile, noch nicht benutzbar sind.

Mit der Version 6.2.8 haben sich die Ziele des Projektes leicht geändert. Pugs soll ein vollständiger Perl 6-Compiler werden, der Perl 6 nach Parrot (PIR), Haskell oder Perl 5 und weiteren Sprachen, z.B. JavaScript, übersetzen kann. Dabei werden so viel Bestandteile von Pugs wie möglich von Haskell zu später weiterverwendbaren Perl 6-Modulen umgeschrieben.

Status

Pugs kann man in einige Subprojekte gliedern.

  • Pugs' Parser ist in der Lage „Standard-Perl“ zu parsen. Auch werden benutzerdefinierte Operatoren unterstützt, aber eine komplette Neugestaltung der Grammatik ist noch nicht möglich.
  • Pugs' Evaluator unterstützt die meisten Builtins und auch viele objektorientierte Routinen. Sein Hauptproblem ist zurzeit seine vergleichbar niedrige Geschwindigkeit.
  • Pugs' Compiler zu PIL steht und ist stabil.
  • Für die weitere Arbeit an Pugs' Compiler zu PIR (Parrot) wartet man auf einige Features von Parrot.
  • Pugs' Compiler zu JavaScript ist noch ein sehr junges Subprojekt; viele Builtins werden bereits unterstützt, allerdings ist die Geschwindigkeit des resultierenden JavaScript-Codes sehr gering.

Versionen

Die Versionierung von Pugs beginnt mit 6.0, und es wird mit jedem neuen Meilenstein eine Ziffer hinzukommen, so dass die Versionsnummer das Doppelte von Pi nachbildet. Dies geht auf einen Scherz von Larry Wall zurück, der auf die Frage nach einem Perl 7 erklärte, warum Perl in seiner Version 2*Pi nicht überschreiten sollte. Aktuell ist Version 6.2.13 (17. Oktober 2006).

Name

Pugs bedeutet auf englisch Mops (Mehrzahl) und ein solcher dient auch als Logo des Projektes. Offiziell ist Pugs ein Akronym für Perl6 User Golfing System was eine Anspielung auf Perl-Golf ist.

Aktuelle Informationen

Die wöchentlich verschickte Mail „This week on Perl 6“, die man auch auf perl.com nachlesen kann, und das Entwickler-Journal von Audrey Tang bieten einen bequemen Einblick in die Pugs-Entwicklung. Es ist auch möglich, die Entwickler direkt per IRC (irc.freenode.net, #perl6) zu erreichen.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Pugs — est une mise en œuvre expérimentale de Perl 6 en langage Haskell, et utilisant les spécificités les plus avancée de GHC. Selon le dorsal de génération et d exécution de code, Pugs peut être considéré soit comme un compilateur, soit comme un… …   Wikipédia en Français

  • Pugs — is a compiler and interpreter for the Perl 6 programming language, started on February 1 2005 by Audrey Tang.OverviewThe Pugs project aims to bootstrap Perl 6 by implementing the full Perl 6 specification, as detailed in the… …   Wikipedia

  • Pugs — Saltar a navegación, búsqueda Pugs 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. Contenido 1 Sumario 2 Versiones …   Wikipedia Español

  • PUGS — Propellant Utilization & Gaging System NASA …   Acronyms

  • PUGS — Propellant Utilization & Gaging System ( > NASA Acronym List ) …   Acronyms von A bis Z

  • pugs — pÊŒg n. small turned up nose; clay prepared for brickmaking; footprints of an animal; breed of small short haired dog v. fill with caulk; follow footprints, track footprints …   English contemporary dictionary

  • pugs — plural of pug present third singular of pug …   Useful english dictionary

  • Pals and Pugs — Infobox Film name = Pals and Pugs image size = caption = director = Jess Robbins producer = Albert E. Smith writer = Jess Robbins narrator = starring = Oliver Hardy music = cinematography = editing = distributor = released = 10 May, 1920 runtime …   Wikipedia

  • Pug — For other uses, see Pug (disambiguation). Pug A fawn pug, the most common coloring Other names Chinese pug Dutch bulldog Dutch mastiff Mini mastiff Country of origin China[1] …   Wikipedia

  • Perl 6 — Infobox programming language name = Perl paradigm = Multi paradigm year = 2000 designer = Larry Wall latest release version = pre release latest release date = typing = dynamic, static influenced by = Perl 5, Haskell, Smalltalk influenced =… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”