Any language that targets parrot should be listed here.
In addition,
any languages bundled with parrot that work with the unified test suite will have their test results listed under the smokes marked 'languages' at http://smoke.parrotcode.org/smoke/.
- Author
- Roger Browne
- Description
- Scripting language inspired by Eiffel and ruby.
- Status
- Incomplete - but all examples and test cases are working.
Estimated progress towards release 1.0: language constructs 47%,
libraries 6%,
documentation 4%,
robustness 6%.
See also http://xamber.org/history.html
- Last verified with parrot version
- 0.4.2
- Location
- http://xamber.org/.
- The Amber PMCs are in
languages/amber
.
- Author
- Will Coleda,
Patrick Michaud
- Description
- APL
- Status
- Provides support for a variety of monadic/dyadic operators,
character vectors,
floats,
int,
and 1-D vectors.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.7
- Location
- "APL" in languages
- Author
- Clint Pierce,
Will Coleda (work with parrot 0.3.0+)
- Description
- BASIC Compiler
- Status
- Most of the samples work.
- Last verified with parrot version
- 0.3.0
- Location
languages/BASIC/compiler
- Author
- Clint Pierce
- Description
- BASIC Interpreter written in pure Parrot
- Status
- Broken - probably due to recent deprecations.
- Last verified with parrot version
- 0.0.11
- Location
languages/BASIC/interpreter
- Author
- Patrick Michaud
- Description
- Basic calculator.
See http://en.wikipedia.org/wiki/Bc_%28Unix%29 Implemented with the Parrot compiler tools PGE and TGE.
- Status
- Almost complete.
A former implementation in languages/bc has been removed in revision 16528.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.9
- Location
languages/abc
- Author
- Jerome Quelin
- Description
- Functioning -93 interpreter (input routines may be funky).
- Status
- Broken with recent deprecation of push[simp]/pop[simp].
Samples working,
README explain how to build/use.
(waiting for Parrot objects for a befunge-98 version).
- Last verified with parrot version
- 0.0.11
- Location
languages/befunge
- Author
- Leon Brocard
- Description
- bf.
See http://en.wikipedia.org/wiki/Brainfuck.
- Status
- Passes all tests.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.9
- Location
languages/bf
- Author
- Kevin Tew
- Description
- PGE grammar for C99
- Status
- Parser is pretty complete.
Needs optok help.
- Last verified with parrot version
- 0.4.6
- Location
languages/c99
- Author
- Kevin Tew
- Description
- Implementation of Ruby CVS Head 1.9
- Status
- Parser is pretty complete.
Generates PIR for basic Ruby programs
- Last verified with parrot version
- 0.4.9
- Location
languages/cardinal
- Author
- Mark Spashett
- Description
- Implementation of Ruby.
- Status
- Not active.
- Last verified with parrot version
- unknown
- Location
- http://rubyforge.org/projects/cardinal/
- Author
- Melvin Smith
- Description
- Java like language with some hybrid Perl features like regex operators planned.
- See also http://en.wikipedia.org/wiki/Cola_programming_language.
- Status
- Functioning,
all samples working,
lacks IO routines
- Last verified with parrot version
- 0.0.11
- Location
languages/cola
- Author
- Cory Spencer
- Description
- Aspires to implement a significant subset of the Common Lisp language.
- Status
- broken due to recent deprecations
- Last verified with parrot version
- 0.1.2
- Location
languages/lisp
- Author
- Unknown
- Description
- An early attempt to support grammars in Bachus-Naur-Format.
- Status
- Unmaintained.
Removed from trunk of Parrot subversion repository.
- Last verified with parrot version
- Unknown
- Location
- Up to revision 12805 of the Parrot subversion repository: "conversion" in languages.
- Author
- Jonathan Worthington
- Description
- Translates .Net bytecode to PIR.
- Status
- Much is left to do,
but it's complete enough to tranlate 75% of the .Net class library.
- Last verified with parrot version
- 0.4.4
- Location
languages/dotnet
- Author
- Dan Sugalski
- Description
- forth
- Status
- Unmaintained.
Removed from trunk of Parrot subversion repository.
- Last verified with parrot version
- 0.0.13
- Location
- Up to revision 12805 of the Parrot subversion repository:
languages/forth
- Author
- Bernhard Schmalhofer
- Description
- A joke language.
See http://en.wikipedia.org/wiki/HQ9+
- Status
- Works and is mostly complete.
- Last verified with parrot version
- 0.4.9
- Location
languages/HQ9plus
- Author
- Gregor Purdy
- Description
- C/Perl like language,
first compiler for Parrot.
The intent is to have a block-structured language that is higher level than IMC,
but still exposes the underlying virtual machine rather directly,
in the hope that this will eventually be useful for coding extensions to the VM in a language more natural than IMC.
- See also http://en.wikipedia.org/wiki/Jako_(programming).
- Status
- The compiler Works,
and the language and examples include subroutines and global constants and variables.
NCI also works.
The Jako examples are tested during smoke testing.
The 'queens' example currently has problems and is therefore not tested.
- Has a low-tech hand-coded lexer and parser,
and the ability to spit out the parse tree as XML for debugging.
Syntax is a bit rigid,
but includes forms that will be familiar to Perl programmers.
- Part of languages smoke testing.
- Last verified with parrot version
- 0.4.7
- Location
languages/jako
- Author
- Leopold Tötsch
- Description
- lazy-k is a pure functional programming language according to the SKI calculus.
See also http://homepages.cwi.nl/~tromp/cl/lazy-k.html
- Status
- Working,
but not complete.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.9
- Location
languages/lazy-k
- Author
- Francois Perrad
- Description
- Lua 5.1 compiler,
implemented in Perl5 with yapp.
- Lua 5.1 Standard Libraries implemented in PIR (still incomplete).
- Status
- Part of languages smoke testing.
- See details in languages/lua/doc/status.pod.
- Last verified with parrot version
- 0.4.9
- Location
languages/lua
- Author
- Klaas-Jan Stol
- Description
- Making Lua work on Parrot.
Implemented in C.
The lexer is built with Flex.
The Parser is built with Bison.
TreeCC is used to generate the code for creating the Abstract Syntax Tree.
- There is also a Lua bytecode to PIR compiler at http://members.home.nl/joeijoei/lua2pir/
- Status
- Simple examples are working.
The current version is 0.2.2.
- Last verified with parrot version
- 0.2.x
- Location
- http://members.home.nl/joeijoei/parrot/
- The Lua PMCs are in
languages/lua
.
- Author
- Bernhard Schmalhofer
- Description
- Port of GNU m4 to PIR.
- Status
- Functioning for handcrafted test cases.
Loading frozen state is currently broken.
Far from complete.
Revision 0.0.14
- Part of languages smoke testing.
- Development is stalled.
Takers are welcome.
- Last verified with parrot version
- 0.4.9
- Location
languages/m4
- Author
- Jeff Goff
- Description
- miniperl
- Status
- Unmaintained.
Removed from trunk of Parrot subversion repository.
- Last verified with parrot version
- Unknown
- Location
- Up to revision 12805 of the Parrot subversion repository:
languages/miniperl
- Author
- Jerome Quelin
- Description
- Functioning compiler targeting pasm.
- Status
- Samples working,
README explain how to build/use.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.5
- Location
languages/ook
- Author
- Unknown
- Description
- Compiler emiting parrot being added to interpreter
- Status
- Under development; nowhere near anything yet
- Last verified with parrot version
- 0.0.11
- Location
- http://www.josvisser.nl/opencomal
- Author
- Michel Pelletier
- Description
- Parakeet is a Forth that is extremely machine specific to the Parrot VM.
Parakeet also has 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.
- Status
- Under development; Broken in respect to recent (and upcoming) DEPRECATED items
- Last verified with parrot version
- 0.0.11
- Location
languages/parakeet
- Author
- Bernhard Schmalhofer played with it.
- Description
- An example on how the builtin PASM,
PIR and PAST compilers can be used from within PASM and PIR programs.
- Status
- Working.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.5
- Location
languages/parrot_compiler
- Description
- Primarily a repository for some perl5-specific functionality that was heavily used in early parrot development.
This code is not slated for use with the Perl 6 implementation,
and core parrot PMCs exist that provide much of the functionality here.
- This directory may be removed in a future release.
- Author
- Patrick Michaud (pmichaud@pobox.com) is the author and maintainer.
- Description
- This is a Perl 6 parser/compiler,
an early version (no version numbers yet).
It's still very early,
only simple expressions and functions are available.
If you're in a hurry to write "real Perl 6" programs,
you might try looking at Pugs -- http://www.pugscode.org.
Or,
you can send patches and contributions to the one being built here!
- Status
- Part of languages smoke testing.
- Last verified with Parrot version
- 0.4.7 : Failed 5/27 test scripts.
5/189 subtests failed.
- Location
languages/perl6
- Author
- chromatic
- Description
- It's not Scheme,
it's Pheme!
Pheme is a cleaned-up,
partially implemented Lisp-2 compiler inspired by Scheme and built with TGE and PGE.
- Status
- Pheme handles function calls,
a few built-in-PIR primitives,
and atoms and lists.
It also runs its tests written in pure Pheme.
It is nearly to the point of being able to define the rest of the standard library in terms of its builtins.
- Last verified with Parrot version
- 0.4.3 : Failed 4/14 test scripts.
12/51 subtests failed.
- Location
languages/pheme
- Author
- Alan Knowles
- Description
- An experimental implementation of PHP
- Status
- This project has been abandoned.
Any takers?
- Last verified with parrot version
- Unknown
- Location
- http://www.akbkhome.com/svn.php/PintCompiler http://www.akbkhome.com/blog.php/View/44/Latest_in_Vapourware_PintCompiler__dbdo.html
- Author
- Klaas-Jan Stol
- Description
- A PIR compiler using Parrot compiler tools.
- Status
- Initial implementation.
Not complete.
Only Parser currently (using PGE).
- Last verified with parrot version
- 0.4.8
- location
- languages/PIR
- Author
- Bernhard Schmalhofer
- Description
- The Plumheaded Parakeet aims to become an implementation of PHP on Parrot.
The grand idea is to have side by side comparison of differen parsing and tree transformation strategies.
Currently there are three variants: phc,
PGE and ANTLR3.
- Status
- Started.
- Last verified with parrot version
- 0.4.9
- Location
- languages/plumhead
- Wiki
- http://rakudo.org/parrot/index.cgi?plumhead
- Author
- Audrey Tang,
et al.
- Description
- Perl6 compiler written in Perl6 and Haskell with multiple backends
- Status
- Basic IO and control flow elements; mutable variables; assignment.
- Last verified with parrot version
- 0.4.4
- Location
- http://pugscode.org/
- Author
- Allison Randal
- Description
- Perl1 implemented in PIR with the help of TGE,
Tree Grammar Engine,
and PGE,
Parrot Grammar Engine.
- Status
- So far,
Punie handles constants (strings,
integers,
floats),
variables,
print statements,
conditionals,
do blocks,
comma lists,
and some basic math and logic ops.
- Last verified with parrot version
- 0.4.9
- Location
languages/punie
- Author
- Michal J Wallace
- Description
- python
- Status
- Mostly working except for classes/exec/import.
For licensing reasons,
not in parrot's svn tree.
- Last verified with parrot version
- 0.0.11
- Location
- http://pirate.tangentcode.com/
- Author
- Steve Fink
- Description
- regex
- Status
- Working but fairly minimal.
Part of languages smoke testing.
Almost all tests are succeeding.
- Last verified with parrot version
- 0.4.5
- Location
languages/regex
- Author
- Jeff Goff
- Description
- Ruby
- Status
- Unmaintained.
Removed from trunk of Parrot subversion repository.
- Last verified with parrot version
- Unknown
- Location
- Up to revision 12805 of the Parrot subversion repository:
languages/ruby
- Author
- Matt Kennedy
- Description
- 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.
- Status
- Working.
- Last verified with parrot version
- 0.0.11
- Location
- http://homepage.mac.com/matt.kennedy/Span
- Author
- Jeffrey Goff,
Juergen Boemmels
- Description
- Scheme
- Status
- Functioning,
as far as implemented.
Lists and functions are working but many functions are missing implementation.
70% pass ratio due to recent deprecations.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.9
- Location
languages/scheme
- Author
- Will Coleda,
Matt Diephouse,
et al.
- Description
- A from scratch implementation of a Tcl 8.5 compiler in parrot.
- Status
- Passes nearly 25% of tcl's (lightly converted) test suite,
using a Test::More like harness.
(Doesn't run quite enough of tcl yet to simply use tcltest.tcl)
- Last verified with parrot version
- 0.4.9
- Location
languages/tcl
- Author
- Chris Dolan and Jerry Gay
- Description
- A parser for the Test Anything Protocol
- Status
- See Parrot RT for details.
Search for [TAP]
- Last verified with parrot version
- 0.4.6
- Location
languages/tap
- Author
- Leopold Tötsch
- Description
- unlambda is a pure functional programming language with mostly eager evaluation following the SKI calculus (+ a few extensions)
- See also http://www.madore.org/~david/programs/unlambda/
- Status
- Working.
Part of languages smoke testing.
- Last verified with parrot version
- 0.4.9
- Location
languages/unlambda
- Author
- Marcus Thiesen
- Description
- URM
- Status
- Functioning,
all examples working.
Language standard is stable and not expected to change soon.
- Last verified with parrot version
- 0.4.9
- Location
languages/urm
- Author
- Francois Perrad
- Description
- Translates WMLScript bytecode to PIR.
- The language WMLScript is a subset of ECMAScript (ie JavaScript).
WMLScript defines also an bytecode interpreter (stack based),
a binary format.
- Status
- Part of languages smoke testing.
- See details in languages/WMLScript/doc/status.pod.
- Last verified with parrot version
- 0.4.9
- Location
languages/WMLScript
- Author
- Leopold Tötsch
- Description
- Yet Another Language
- Status
- It's mainly intended to test an AST interface and for checking that code generation plays nicely together with Parrot opcodes.
- Last verified with parrot version
- 0.0.13
- Location
- http://toetsch.at/yal/
- Author
- Amir Karger,
Leopold Tötsch
- Description
- Infocom's Z-machine.
See also http://en.wikipedia.org/wiki/Z-machine.
- Status
- 25 out of 66 Z3 opcodes all or mostly done.
A long way from Zork.
3 out of 4 test files working.
- Last verified with parrot version
- 0.4.5
- Location
languges/Zcode