Version 156 (modified by soh_cah_toa, 3 years ago)

Added link to Squaak's WikiBooks tutorial.

Parrot based implementations of programming languages

A largish number of languages targeting Parrot are in development. Two demo languages, abc and Squaak are in the Parrot tarball, in the directory examples/languages. The other languages are developed outside the Parrot core. This page tracks the status of these projects, and provides information on where to find them.

Note that several languages that used to live in parrot have been moved to (which has checkout instructions).

Active (or in maintenance) Languages:

NameLanguageWritten inBuilds againstPassing testsCompletenessDevelopment
 parrot * * * * *
befunge Befunge-93PIRParrot 3.3.01/1 (100%)SemistableActive
 blizkostPerl 5 on ParrotPIRParrot 3.3.0102PrototypeActive
 cardinal Ruby 1.9Perl6GrammarParrot 3.3.0 Smoke reportsDevelopment?Active
 CloseC-like languagePerl6GrammarParrot 1.3.0?DevelopmentActive
 funAn even happier JoyPerl6GrammarParrot 2.3.025/25 (100%)DevelopmentActive
 hq9plus HQ9 PlusPerl6GrammarParrot 3.3.013/13 (100%)StableMaintainance
 jvmJava VM bytecode translatorC, Perl, PIRParrot 0.8.2-devel-DevelopmentActive
 Kea FactorPIR/NQPParrot 2.0.01/1PrototypeActive
 lua Lua 5.1Perl6GrammarParrot 3.3.0 Smoke reportsDevelopment?Active
 markdown MarkdownPerl6GrammarParrot 3.3.056/56 (100%)DevelopmentActive
 nqpTAPTAP (Test Anything Protocol) HarnessNQPtrunk DevelopmentActive
 NQP-rxNot quite Perl6, with regexenPerl6GrammarParrot 2.4.0?DevelopmentActive
 partcl TclPIR, C(PMC) VersionFailing several tests against latest parrotDevelopmentinactive
 partcl-nqp TclNQP-rx/PIRParrot 2.3.0Failing several tests against latest parrotDevelopmentinactive
 pheme SchemePerl6GrammarParrot 2.8.049/51Development?Reactivating?
 Perk JavaPerl6GrammarParrot 0.9.0-devel?PrototypeActive
 Pipp PHPPerl6GrammarParrot 1.4.0 Smoke reportsDevelopmentActive
 PIR Parrot Intermediate RepresentationPerl6GrammarParrot 0.8.1-devel? (1)SemistableMaintenance
 PIRATEParrot Intermediate RepresentationNQP-rxParrot 2.4.0? (1)ActiveDevelopment
 PL/ParrotParrot in Postgres?Parrot 1.7.0? (1)AlphaActive
 PODPlain Old DocumentationPerl6GrammarParrot 1.1.0?DevelopmentActive
 primitivearc ArcPIRParrot 1.4.0?/230DevelopmentActive
 Porcupine PascalPerl6GrammarParrot 1.4.0115/116DevelopmentActive
 pynie PythonPerl6GrammarParrot 2.3.0175/175 (100%)DevelopmentActive
 Rakudo Perl 6 Perl 6Perl6Grammar, PerlParrot 3.3.0236/236 (100%) (3)DevelopmentActive
 shakespeare-parrot ShakespearePerl6GrammarParrot 3.3.061/64DevelopmentActive
 TapirTAP (Test Anything Protocol) HarnessPIRParrot 2.0.0100/100PrototypeActive
 Winxed A JavaScript-alike languageC++Parrot 2.3.0114/114DevelopmentActive
 WMLScript WMLScriptPIRParrot 3.3.0?/417DevelopmentSemi-active
 XMLXML SAX like parserPerl6GrammarParrot 3.3.030/30DevelopmentActive
 Squaak Demo language for PCTNQP-rx/PIRHEAD?DevelopmentActive
 roastPerl 6 spec testsPerl 6HEAD?DevelopmentActive

Inactive, retired and Dormant languages.

NameLanguageWritten inBuilds againstPassing testsCompletenessDevelopment
abc bcPerl6GrammarParrot 3.3.0161/161 (100%)SemistableInactive
 APL APLPerl6GrammarParrot 1.4.0216/216 (100%)?Inactive
BASIC BASIC, Microsoft QuickBASIC 4.5Perl, PIR??Stable?Retired
 bf Brainf**kPIRParrot 2.8.03/3Stable?Inactive
 c99 C programming language,  C99 dialectPerl6GrammarParrot 0.8.1-devel?StableInactive
 chitchat SmalltalkPerl6GrammarParrot 3.3.02/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 1.1.043/43 (100%)DevelopmentInactive
 forth ForthPIRParrot 3.3.024/24 (100%)?Inactive
 gilGeneric Imperative LanguagePerl6GrammarParrot 3.3.011/11 (100%)?Inactive
 jakoJakoPerl5Parrot 2.3.0?DevelopmentInactive
 matrixy OctavePerl6GrammarParrot 2.0.0354/354DevelopmentActive
NQPNot quite Perl6Perl6GrammarParrot 3.3.0198/198 (100%)StableDeprecated
 Pirate Python????Retired
 PJS ECMAScriptPIRParrot 0.8.1-devel? (1)DevelopmentDormant
 json JSONPerl6GrammarParrot 0.8.1-devel? (1)?Dormant
 Kea-CLCommon Lisp???DevelopmentInactive
 lazy-k Lazy KPIRParrot 2.6.00/2 (100%)Development (2)Dormant
 lisp LISPPIR, PGE?Parrot 0.8.1-devel134/134 (100%)?Inactive
 lolcode LOLCODEPerl6GrammarParrot 3.3.070/82?Dormant
 Monkey Lua 5.1????Retired
 ook Ook!PASMParrot 1.2.01/1 (100%)Stable?Inactive
parrot_compilerPAST and PIR examplesPIRParrot 0.9.1???
 punie Perl 1.0Perl6GrammarParrot 2.3.0?/52DevelopmentInactive
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?????
 m4 GNU m4PIRParrot 1.4.0125/125 (100%)DevelopmentDormant
 Lua2PIR Lua 5.1????Retired
squaakSquaak (showcase language)Perl6GrammarParrot 3.3.030/30 (100%)DevelopmentDormant
 unlambda UnlambdaPIRParrot 3.3.04/4 (100%)?Dormant
 urmUniversal Register MachinePerl 5Parrot 1.2.05/7 (71.42%)Stable?Inactive
  • (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