Version 30 (modified by barney, 6 years ago)

Eclectus is now on github

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.1-devel54/125 (43.2%)DevelopmentReactivating?
 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?
 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.

Status

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.

miniperl

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

Amber

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.  http://xamber.org/.

Parakeet

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  http://parakeet.wiki.sourceforge.net/.

BASIC/interpreter

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.

Cardinal

The version at  http://rubyforge.org/projects/cardinal/ has been superseded by the one in the repository. (See above)

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.

Pint

An experimental implementation of PHP. Described at  http://www.akbkhome.com/blog.php/View/44/Latest_in_Vapourware_PintCompiler__dbdo.html, but no updates since August 2004, and the link to source is a 404.

Plumhead

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

Ruby

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  http://web.archive.org/web/20070911102734/ and  http://www.acooke.org/andrew/writing/parrot/sfl.html

Span

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.  http://homepage.mac.com/matt.kennedy/Span

TAP (Test Anything Protocol)

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