Version 80 (modified by allison, 13 years ago)


Parrot based implementations of programming languages

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

This page tracks the status of these projects, and provides some information on where they can be found.

NameLanguageWritten inBuilds againstPassing testsCompletenessDevelopment
abc bcPerl6GrammarParrot 0.9.1161/161 (100%)SemistableInactive
 APL APLPerl6GrammarParrot 0.9.1216/216 (100%)?Inactive
BASIC BASIC, Microsoft QuickBASIC 4.5Perl, PIR??Stable?Retired
befunge Befunge-93PIRParrot-0.9.11/1 (100%)SemistableActive
 bf Brainf**kPIRParrot 0.9.1?Stable?Inactive
 c99 C programming language,  C99 dialectPerl6GrammarParrot 0.8.1-devel?StableInactive
 cardinal Ruby 1.9Perl6GrammarParrot 0.9.1?/340Development?Active
 chitchat SmalltalkPerl6GrammarParrot 0.9.12/2 (100%)?Inactive
 dotnet.Net to PIR translatorC, Perl, PIRParrot 0.9.173/254 failed?Dormant
 eclectus SchemeSchemeParrot 0.8.2-devel? (1)DevelopmentInactive
 ecmascript ECMAScriptPerl6GrammarParrot 0.9.143/43 (100%)DevelopmentActive
 forth ForthPIRParrot 0.8.1-devel? (1)?Inactive
 funAn even happier JoyPerl6GrammarParrot 0.9.125/25 (100%)DevelopmentActive
 gilGeneric Imperative LanguagePerl6GrammarParrot 0.9.111/11 (100%)?Inactive
 hq9plus HQ9 PlusPerl6GrammarParrot 0.9.113/13 (100%)StableMaintainance
 jakoJakoPerl5Parrot 0.9.1?SemistableInactive
 jvmJava VM bytecode translatorC, Perl, PIRParrot 0.8.2-devel-DevelopmentActive
 json JSONPerl6GrammarParrot 0.8.1-devel? (1)?Dormant
 Kea-CLCommon Lisp???DevelopmentInactive
 lazy-k Lazy KPIRParrot 0.9.12/2 (100%)Development (2)Dormant
 lisp LISPPIR, PGE?Parrot 0.8.1-devel134/134 (100%)?Inactive
 lolcode LOLCODEPerl6GrammarParrot 0.9.181/82 (98.78%)?Dormant
 lua Lua 5.1Perl6GrammarParrot 0.9.1
 Lua2PIR Lua 5.1?????
 matrixy OctavePerl6Grammar??DevelopmentActive
 m4 GNU m4PIRParrot 0.9.1125/125 (100%)DevelopmentDormant
 markdown MarkdownPerl6GrammarParrot 0.9.128/28 (100%)Semistable?Dormant
NQPNot quite Perl6Perl6GrammarParrot 0.9.1186/186 (100%)StableActive
 Monkey Lua 5.1?????
 ook Ook!PASMParrot 0.9.11/1 (100%)Stable?Inactive
parrot_compilerPAST and PIR examplesPIRParrot 0.9.1???
 partcl TclPIR, C(PMC) Version Spec Test StatusDevelopment svn log
 pheme SchemePerl6GrammarParrot 0.9.151/51 (100%)Development?Reactivating?
 Perk JavaPerl6GrammarParrot 0.9.0-devel?PrototypeActive
 Pipp PHPPerl6GrammarParrot 0.9.1
 PIRParrot Intermediate RepresentationPerl6GrammarParrot 0.8.1-devel? (1)SemistableMaintenance
 Pirate Python????Retired
 PJS ECMAScriptPIRParrot 0.8.1-devel? (1)DevelopmentDormant
 PODPlain Old DocumentationPerl6GrammarParrot 0.9.1?DevelopmentActive
 primitivearc ArcPIRParrot 0.9.1?/230DevelopmentActive
 punie Perl 1.0Perl6GrammarParrot 0.9.152/52 (100%)DevelopmentInactive
 pynie PythonPerl6GrammarParrot 0.9.176/88 (86.36%)DevelopmentDormant
 Rakudo Perl 6 Perl 6Perl6Grammar, PerlParrot 0.9.1275/275 (100%) (3)DevelopmentActive
regexRegular expression enginePMCParrot 0.9.153/53 (100%)Development?Retired
 scheme SchemePerl 5Parrot 0.8.1-devel? (1)DevelopmentInactive
 Scheme to PIR with Chicken Scheme?????
 shakespeare-parrot ShakespearePerl6GrammarParrot 0.9.164/64 (100%)DevelopmentActive
squaakSquaak (showcase language)Perl6GrammarParrot 0.9.130/30 (100%)DevelopmentDormant
 unlambda UnlambdaPIRParrot 0.9.14/4 (100%)?Dormant
 urmUniversal Register MachinePerl 5Parrot 0.9.15/7 (71.42%)Stable?Inactive
 WMLScript WMLScriptPIRParrot 0.9.1357/358DevelopmentActive
  • (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.
    • Retired: No plans to maintain or continue development, open for adoption

See also: AbandonedLanguages