-
Notifications
You must be signed in to change notification settings - Fork 145
Languages
There are many languages that have been built using the Parrot Compiler Tools (PCT) all of which are in various stages of development. This page tracks the status of these projects and provides information on where to find them.
Some of these languages live in the Parrot repository. Two demo languages - abc and Squaak - can be found in the examples/languages directory. Also, nqp-rx and winxed are included in the ext directory as they are frequently used during Parrot development. However, the other languages are developed outside the Parrot repository.
Note that several languages that used to live in the Parrot repository have been moved to https://github.com/parrot. To get a copy of the source code for one of these languages (e.g. lolcode), use the following git command:
git clone git://github.com/parrot/lolcode lolcode
However, we strongly encourage you to instead use Parrot's package manager: Plumage. See the Plumage wiki for how to use it.
| Name | Language | Written in | Builds against | Passing tests | Completeness | Development |
| befunge | Befunge-93 | PIR/td> | Parrot 3.3.0 | 1/1 (100%) | Semistable | Active |
| Blizkost | Perl 5 on Parrot | PIR | Parrot 3.3.0 | 102 | Prototype | Active |
| cardinal | Ruby 1.9 | Perl6Grammar | Parrot 3.3.0 | Smoke reports | Development? | Active |
| Close | C-like language | Perl6Grammar | Parrot 1.3.0 | ? | Development | Active |
| Fun | Joy | Perl6Grammar | Parrot 2.3.0 | 25/25 (100%) | Development | Active |
| hq9plus | HQ9 Plus | Perl6Grammar | Parrot 3.3.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 3.3.0 | Smoke reports | Development? | Active |
| markdown | Markdown | Perl6Grammar | Parrot 3.3.0 | 56/56 (100%) | Development | Active |
| nqpTAP | TAP harness for NQP | NQP | trunk | Development | Active | |
| NQP-rx | Not Quite Perl 6, with regular expressions | Perl6Grammar | Parrot 2.4.0 | Smoke reports | 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 |
| 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 embedded in PostgreSQL | C/Perl 5 | Parrot 1.7.0 | ? (1) | Alpha | 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.3.0 | 236/236 (100%) (3) | Development | Active |
| shakespeare-parrot | Shakespeare | Perl6Grammar | Parrot 3.3.0 | 61/64 | Development | Active |
| Tapir | TAP Harness for Parrot | 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 3.3.0 | ?/417 | Development | Semi-active |
| XML | XML and SAX-like parser | Perl6Grammar | Parrot 3.3.0 | 30/30 | Development | Active |
| Squaak | Demo language for PCT | NQP-rx/PIR | HEAD | ? | Development | Active |
| roast | Perl 6 spec tests | Perl 6 | HEAD | ? | Development | Active |
- (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