Version 27 (modified by barney, 13 years ago) |
---|
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.
Name | Language | Written in | Builds against | Passing tests | Completeness | Development |
abc | bc | Perl6Grammar | Parrot 0.8.1-devel | 161/161 (100%) | Semistable | Inactive |
APL | APL | Perl6Grammar | Parrot 0.8.1-devel | 166/166 (100%) | ? | Inactive |
BASIC | BASIC, Microsoft QuickBASIC 4.5 | Perl, PIR | ? | ? | Stable? | Inactive |
befunge | Befunge-93 | PIR|Parrot-0.8.2-devel|all | ? (1) | Semistable | Active | |
bf | Brainf**k | PIR | Parrot 0.8.1-devel | 1/1 (1) | Stable? | Dormant |
c99 | C programming language, C99 dialect | Perl6Grammar | Parrot 0.8.1-devel | 0/6 (1) | ? | Inactive |
cardinal | Ruby 1.9 | Perl6Grammar | Parrot 0.8.1-devel | ?/373 (1) | Development? | Active |
chitchat | Smalltalk | Perl6Grammar | Parrot 0.8.1-devel | 2/2 (100%) | ? | Inactive |
cola | Cola | C, Perl | Parrot 0.8.1-devel | 2/2 (100%) | Semistable | Dormant |
dotnet | .Net to PIR translator | C, Perl, PIR | Parrot 0.8.1-devel | 45/263 (17.11%) | ? | Dormant |
eclectus | Scheme | C, Scheme | Parrot 0.8.1-devel | ? (1) | ? | Inactive |
ecmascript | ECMAScript | Perl6Grammar | Parrot 0.8.1-devel | 12/12 (100%) | Development | Active |
forth | Forth | PIR | Parrot 0.8.1-devel | ? (1) | ? | Reactivating? |
gil | Generic Imperative Language | Perl6Grammar | ? | ? | ? | Inactive |
hq9plus | HQ9 Plus | Perl6Grammar | Parrot 0.8.2-devel | 13/13 (100%) | Stable | Maintainance |
jako | Jako | Perl5 | Parrot 0.8.1-devel | ? (1) | Semistable | Dormant |
json | JSON | Perl6Grammar | Parrot 0.8.1-devel | ? (1) | ? | Dormant |
Kea-CL | Common Lisp | ? | ? | ? | ? | ? |
lazy-k | Lazy K | PIR | Parrot 0.8.1-devel | ? (1) | Development (2) | Dormant |
lisp | LISP | PIR, PGE? | Parrot 0.8.1-devel | 134/134 (100%) | ? | Dormant |
lolcode | LOLCODE | Perl6Grammar | Parrot 0.8.1-devel | 81/82 (98.78%) | ? | Dormant |
lua | Lua 5.1 | Perl6Grammar | Parrot 0.8.1-devel | ? (1) | Development? | Active |
Lua2PIR | Lua 5.1 | ? | ? | ? | ? | ? |
m4 | GNU m4 | PIR | Parrot 0.8.1-devel | 54/125 (43.2%) | Development | Reactivating? |
markdown | Markdown | Perl6Grammar | Parrot 0.8.1-devel | 28/28 (100%) | Semistable? | Dormant |
NQP | Not quite Perl6 | ? | ? | ? | ? | ? |
Monkey | Lua 5.1 | ? | ? | ? | ? | ? |
ook | Ook! | PASM | Parrot 0.8.1-devel | 1/1 (100%) | Stable? | Maintenance |
parrot_compiler | PAST and PIR examples | PIR | ? | ? | ? | ? |
partcl | Tcl | PIR, C(PMC) | Version | Spec Test Status | Development | svn log |
pheme | Scheme | Perl6Grammar | Parrot 0.8.1-devel | 51/51 (100%) | Development? | Reactivating? |
Pipp | PHP | Perl6Grammar | Parrot 0.8.2-devel | 524/524 (100%) | Development | Active |
PIR | Parrot Intermediate Representation | Perl6Grammar | Parrot 0.8.1-devel | ? (1) | Semistable | Maintenance |
Pirate | Python | ? | ? | ? | ? | ? |
PJS | ECMAScript | PIR | Parrot 0.8.1-devel | ? (1) | Development | Dormant |
primitivearc | Arc | PIR | ? | ? | ? | ? |
punie | Perl 1.0 | Perl6Grammar | Parrot 0.8.1-devel | 52/52 (100%) | Development | Inactive |
pynie | Python | Perl6Grammar | Parrot 0.8.1-devel | 76/88 (86.36%) | Development | Dormant |
Rakudo Perl 6 | Perl 6 | Perl6Grammar, Perl | Parrot 0.8.1-devel | 275/275 (100%) (3) | Development | Active |
regex | Regular expression engine | PMC | Parrot 0.8.1-devel | 53/53 (100%) | Development? | Dormant/Inactive? |
scheme | Scheme | Perl 5 | Parrot 0.8.1-devel | ? (1) | Development | Inactive |
Scheme to PIR with Chicken | Scheme | ? | ? | ? | ? | ? |
squaak | Squaak (showcase language) | Perl6Grammar | Parrot 0.8.1-devel | 4/5 (80%) | Development | Dormant |
unlambda | Unlambda | PIR | Parrot 0.8.1-devel | 3/3 (100%) | ? | Dormant |
urm | Universal Register Machine | Perl 5 | Parrot 0.8.1-devel | 5/7 (71.42%) | Stable? | Inactive |
WMLScript | WMLScript | PIR | Parrot 0.8.1-devel | 358/358 (100%) | Development | Active |
Zcode | Z-machine | PIR | Parrot 0.8.1-devel | 0/0 (1) | Development | Inactive |
- (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.