Version 148 (modified by gerd, 11 years ago) |
---|
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 https://trac.parrot.org/languages (which has checkout instructions).
Active (or in maintenance) Languages:
Name | Language | Written in | Builds against | Passing tests | Completeness | Development |
parrot | * | * | * | * | * | |
befunge | Befunge-93 | PIR | Parrot 2.8.0 | 1/1 (100%) | Semistable | Active |
blizkost | Perl 5 on Parrot | PIR | Parrot 2.8.0 | 102 | Prototype | Active |
cardinal | Ruby 1.9 | Perl6Grammar | Parrot 2.3.0 | Smoke reports | Development? | Active |
Close | C-like language | Perl6Grammar | Parrot 1.3.0 | ? | Development | Active |
fun | An even happier Joy | Perl6Grammar | Parrot 2.3.0 | 25/25 (100%) | Development | Active |
hq9plus | HQ9 Plus | Perl6Grammar | Parrot 2.8.0 | 13/13 (100%) | Stable | Maintainance |
jvm | Java VM bytecode translator | C, Perl, PIR | Parrot 0.8.2-devel | - | Development | Active |
Kea | Factor | PIR/NQP | Parrot 2.0.0 | 1/1 | Prototype | Active |
lua | Lua 5.1 | Perl6Grammar | Parrot 2.8.0 | Smoke reports | Development? | Active |
markdown | Markdown | Perl6Grammar | Parrot 2.8.0 | 56/56 (100%) | Development | Active |
nqpTAP | TAP (Test Anything Protocol) Harness | NQP | trunk | Development | Active | |
NQP-rx | Not quite Perl6, with regexen | Perl6Grammar | Parrot 2.4.0 | ? | Development | Active |
partcl | Tcl | PIR, C(PMC) | Version | Failing several tests against latest parrot | Development | inactive |
partcl-nqp | Tcl | NQP-rx/PIR | Parrot 2.3.0 | Failing several tests against latest parrot | Development | inactive |
pheme | Scheme | Perl6Grammar | Parrot 2.8.0 | 49/51 | Development? | Reactivating? |
Perk | Java | Perl6Grammar | Parrot 0.9.0-devel | ? | Prototype | Active |
Pipp | PHP | Perl6Grammar | Parrot 1.4.0 | Smoke reports | Development | Active |
PIR | Parrot Intermediate Representation | Perl6Grammar | Parrot 0.8.1-devel | ? (1) | Semistable | Maintenance |
PIRATE | Parrot Intermediate Representation | NQP-rx | Parrot 2.4.0 | ? (1) | Active | Development |
PL/Parrot | Parrot in Postgres | ? | Parrot 1.7.0 | ? (1) | Alpha | Active |
POD | Plain Old Documentation | Perl6Grammar | Parrot 1.1.0 | ? | Development | Active |
primitivearc | Arc | PIR | Parrot 1.4.0 | ?/230 | Development | Active |
Porcupine | Pascal | Perl6Grammar | Parrot 1.4.0 | 115/116 | Development | Active |
pynie | Python | Perl6Grammar | Parrot 2.3.0 | 175/175 (100%) | Development | Active |
Rakudo Perl 6 | Perl 6 | Perl6Grammar, Perl | Parrot 3.0.0 | 236/236 (100%) (3) | Development | Active |
shakespeare-parrot | Shakespeare | Perl6Grammar | Parrot 2.8.0 | 61/64 | Development | Active |
Tapir | TAP (Test Anything Protocol) Harness | PIR | Parrot 2.0.0 | 100/100 | Prototype | Active |
Winxed | A javascript-alike language | C++ | Parrot 2.3.0 | 114/114 | Development | Active |
WMLScript | WMLScript | PIR | Parrot 2.8.0 | 417/417 | Development | Active |
XML | XML SAX like parser | Perl6Grammar | Parrot 2.8.0 | 30/30 | Development | Active |
squaak | squaak tutorial language | NQP-rx/PIR | HEAD | ? | Development | Active |
roast | Perl 6 spec tests | Perl 6 | HEAD | ? | Development | Active |
Inactive, retired and Dormant languages.
Name | Language | Written in | Builds against | Passing tests | Completeness | Development |
abc | bc | Perl6Grammar | Parrot 2.8.0 | 161/161 (100%) | Semistable | Inactive |
APL | APL | Perl6Grammar | Parrot 1.4.0 | 216/216 (100%) | ? | Inactive |
BASIC | BASIC, Microsoft QuickBASIC 4.5 | Perl, PIR | ? | ? | Stable? | Retired |
bf | Brainf**k | PIR | Parrot 2.8.0 | 3/3 | Stable? | Inactive |
c99 | C programming language, C99 dialect | Perl6Grammar | Parrot 0.8.1-devel | ? | Stable | Inactive |
chitchat | Smalltalk | Perl6Grammar | Parrot 2.8.0 | 2/2 (100%) | ? | Inactive |
dotnet | .Net to PIR translator | C, Perl, PIR | Parrot 0.9.1 | 73/254 failed | ? | Dormant |
eclectus | Scheme | Scheme | Parrot 0.8.2-devel | ? (1) | Development | Inactive |
ecmascript | ECMAScript | Perl6Grammar | Parrot 1.1.0 | 43/43 (100%) | Development | Inactive |
forth | Forth | PIR | Parrot 2.8.0 | 24/24 (100%) | ? | Inactive |
gil | Generic Imperative Language | Perl6Grammar | Parrot 2.8.0 | 11/11 (100%) | ? | Inactive |
jako | Jako | Perl5 | Parrot 2.3.0 | ? | Development | Inactive |
matrixy | Octave | Perl6Grammar | Parrot 2.0.0 | 354/354 | Development | Active |
NQP | Not quite Perl6 | Perl6Grammar | Parrot 2.3.0 | 198/198 (100%) | Stable | Deprecated |
Pirate | Python | ? | ? | ? | ? | Retired |
PJS | ECMAScript | PIR | Parrot 0.8.1-devel | ? (1) | Development | Dormant |
json | JSON | Perl6Grammar | Parrot 0.8.1-devel | ? (1) | ? | Dormant |
Kea-CL | Common Lisp | ? | ? | ? | Development | Inactive |
lazy-k | Lazy K | PIR | Parrot 2.6.0 | 0/2 (100%) | Development (2) | Dormant |
lisp | LISP | PIR, PGE? | Parrot 0.8.1-devel | 134/134 (100%) | ? | Inactive |
lolcode | LOLCODE | Perl6Grammar | Parrot 2.8.0 | 81/82 (98.78%) | ? | Dormant |
Monkey | Lua 5.1 | ? | ? | ? | ? | Retired |
ook | Ook! | PASM | Parrot 1.2.0 | 1/1 (100%) | Stable? | Inactive |
parrot_compiler | PAST and PIR examples | PIR | Parrot 0.9.1 | ? | ? | ? |
punie | Perl 1.0 | Perl6Grammar | Parrot 2.3.0 | ?/52 | Development | Inactive |
regex | Regular expression engine | PMC | Parrot 0.9.1 | 53/53 (100%) | Development? | Retired |
scheme | Scheme | Perl 5 | Parrot 0.8.1-devel | ? (1) | Development | Inactive |
Scheme to PIR with Chicken | Scheme | ? | ? | ? | ? | ? |
m4 | GNU m4 | PIR | Parrot 1.4.0 | 125/125 (100%) | Development | Dormant |
Lua2PIR | Lua 5.1 | ? | ? | ? | ? | Retired |
squaak | Squaak (showcase language) | Perl6Grammar | Parrot 2.8.0 | 30/30 (100%) | Development | Dormant |
unlambda | Unlambda | PIR | Parrot 2.8.0 | 4/4 (100%) | ? | Dormant |
urm | Universal Register Machine | Perl 5 | Parrot 1.2.0 | 5/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.
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.
- Retired: No plans to maintain or continue development, open for adoption
See also: AbandonedLanguages