Version 33 (modified by barney, 13 years ago)

Mention PAPAgei

More of less maintained language implementations

A number of languages targeting Parrot are in development. Some of them can be found in the Parrot tarball, in languages/. Others are being developed outside of Parrot.

This page tracks the status of these projects.

NameLanguageWritten inBuilds againstPassing testsCompletenessDevelopment
 abc bcPerl6GrammarParrot 0.8.1-devel161/161 (100%)SemistableInactive
 APL APLPerl6GrammarParrot 0.8.1-devel166/166 (100%)?Inactive
 BASIC BASIC, Microsoft QuickBASIC 4.5Perl, PIR??Stable?Inactive
 befunge Befunge-93PIR|Parrot-0.8.2-develall? (1)SemistableActive
 bf Brainf**kPIRParrot 0.8.1-devel1/1 (1)Stable?Dormant
 c99 C programming language,  C99 dialectPerl6GrammarParrot 0.8.1-devel0/6 (1)?Inactive
 cardinal Ruby 1.9Perl6GrammarParrot 0.8.1-devel?/373 (1)Development?Active
 chitchat SmalltalkPerl6GrammarParrot 0.8.1-devel2/2 (100%)?Inactive
 colaColaC, PerlParrot 0.8.1-devel2/2 (100%)SemistableDormant
 dotnet.Net to PIR translatorC, Perl, PIRParrot 0.8.1-devel45/263 (17.11%)?Dormant
 eclectus SchemeSchemeParrot 0.8.2-devel? (1)DevelopmentInactive
 ecmascript ECMAScriptPerl6GrammarParrot 0.8.1-devel12/12 (100%)DevelopmentActive
 forth ForthPIRParrot 0.8.1-devel? (1)?Reactivating?
 gilGeneric Imperative LanguagePerl6Grammar???Inactive
 hq9plus HQ9 PlusPerl6GrammarParrot 0.8.2-devel13/13 (100%)StableMaintainance
 jakoJakoPerl5Parrot 0.8.1-devel? (1)SemistableDormant
 json JSONPerl6GrammarParrot 0.8.1-devel? (1)?Dormant
 Kea-CLCommon Lisp?????
 lazy-k Lazy KPIRParrot 0.8.1-devel? (1)Development (2)Dormant
 lisp LISPPIR, PGE?Parrot 0.8.1-devel134/134 (100%)?Dormant
 lolcode LOLCODEPerl6GrammarParrot 0.8.1-devel81/82 (98.78%)?Dormant
 lua Lua 5.1Perl6GrammarParrot 0.8.1-devel? (1)Development?Active
 Lua2PIR Lua 5.1?????
 m4 GNU m4PIRParrot 0.8.2-devel54/125 (43.2%)DevelopmentDormant
 markdown MarkdownPerl6GrammarParrot 0.8.1-devel28/28 (100%)Semistable?Dormant
 NQPNot quite Perl6?????
 Monkey Lua 5.1?????
 ook Ook!PASMParrot 0.8.1-devel1/1 (100%)Stable?Maintenance
 parrot_compilerPAST and PIR examplesPIR????
 partcl TclPIR, C(PMC) Version Spec Test StatusDevelopment svn log
 pheme SchemePerl6GrammarParrot 0.8.1-devel51/51 (100%)Development?Reactivating?
 Perk JavaPerl6Grammar??DevelopmentActive
 Pipp PHPPerl6GrammarParrot 0.8.2-devel524/524 (100%)DevelopmentActive
 PIRParrot Intermediate RepresentationPerl6GrammarParrot 0.8.1-devel? (1)SemistableMaintenance
 Pirate Python?????
 PJS ECMAScriptPIRParrot 0.8.1-devel? (1)DevelopmentDormant
 primitivearc ArcPIRParrot 0.8.0not tests written yetDevelopmentDormant
 punie Perl 1.0Perl6GrammarParrot 0.8.1-devel52/52 (100%)DevelopmentInactive
 pynie PythonPerl6GrammarParrot 0.8.1-devel76/88 (86.36%)DevelopmentDormant
 Rakudo Perl 6 Perl 6Perl6Grammar, PerlParrot 0.8.1-devel275/275 (100%) (3)DevelopmentActive
 regexRegular expression enginePMCParrot 0.8.1-devel53/53 (100%)Development?Dormant/Inactive?
 scheme SchemePerl 5Parrot 0.8.1-devel? (1)DevelopmentInactive
 Scheme to PIR with Chicken Scheme?????
 squaakSquaak (showcase language)Perl6GrammarParrot 0.8.1-devel4/5 (80%)DevelopmentDormant
 unlambda UnlambdaPIRParrot 0.8.1-devel3/3 (100%)?Dormant
 urmUniversal Register MachinePerl 5Parrot 0.8.1-devel5/7 (71.42%)Stable?Inactive
 WMLScript WMLScriptPIRParrot 0.8.1-devel358/358 (100%)DevelopmentActive
 Zcode Z-machinePIRParrot 0.8.1-devel0/0 (1)DevelopmentInactive
  • (1) I couldn't get one or more tests to run on my system.
  • (2) As per README/documentation.
  • (3) Basic tests only.


So it's easy to tell what's going on with a project, I'll categorize statuses on the basis of two criteria:

  • Completeness: stable, semistable, development, prototype, unknown
    • Stable: Claims to be version 1.0, 2.0, etc.; tests appear to cover a usable subset of functionality.
    • Semistable: Stable to a deprecated or old standard; can be extended to the latest standard.
    • Development: Claims to be version 0.1, 0.2, etc.; large functionality missing.
    • Prototype: Claims to be development, prototype or no version number; only basic functionality is in.
  • Development: active, maintenance, dormant, inactive
    • Active: Major changes in the last month.
    • Maintenance: Minor changes in the last month; only really applicable to stable/semistable languages.
    • Dormant: No major changes in the last month; bugfixes and occasional commits are still being made.
    • Inactive: No changes in the last three months.

Abandoned projects

This section is for historians only.


Written by Jeff Goff. Was in 'languages/miniperl' in Parrot svn repository until r12805.


Scripting language inspired by Eiffel and Ruby. Original version targeted parrot, current version is self-contained. The PMCs for amber were in the repository until 0.6.1.


Parakeet was a Forth that was extremely machine specific to the Parrot VM. Parakeet also had a lot of features not found in standard Forth, like local variables, nested words and classes and (as a result) nested compile-time and run-time lexical word, class and variable scopes.

Removed from the repository 'languages/parakeet' prior to 0.4.10, after having been broken since 0.0.11.

Parakeet is also the name of a project the extends the Jikes RVM in order to run Parrot bytecode. See


BASIC interpreter was written in PASM, and used the global stack. It was last verified working in 0.0.11 before it was removed from 'languages/BASIC/interpreter' prior to Parrot 0.5.1.


The version at has been superseded by the one in the repository. (See above)


The PAscal for PArrot compiler was a final year project at I.T. Carlow.

Perl 5

From r16836 up to r25231 'languages/perl5' served as a repository for some Perl 5 - specific functionality that was heavily used in early parrot development.


An experimental implementation of PHP. Described at, but no updates since August 2004, and the link to source is a 404.


Plumhead was the PHP on Parrot implementation. It has been renamed to Pipp.


Removed from trunk of Parrot subversion repository. Up to revision 12805, located in 'languages/ruby'.

=head2 SFL

Simple functional language. A quickly abandoned attempt. See and


Span can be most concisely described as Smalltalk for C++, C#, and Java programmers. It features an object system modeled on the Smalltalk object system and a language syntax designed to be easy to learn for developers of C-like languages. Last verified against parrot 0.1.11.

TAP (Test Anything Protocol)

A parser for the Test Anything Protocol Was located in 'languages/tap', removed in r26661.