Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Cardinal - Ruby for the Parrot VM

Cardinal is a Ruby compiler for Parrot Virtual Machine.

The parser is fairly complete. The standard library exists, but still needs filling out.

Cardinal's parser is very very slow. You can precompile to PIR with –target=pir and run the result with Parrot directly to skip the parsing phase. (You may need cardinal.pbc in the same directory for this to work.)

Getting Started with Cardinal

Downloding Cardinal

Get a copy of Cardinal (read only):

git clone git://

Build with Rake

After obtaining the source code, run:

rake cardinal

To run some tests run:

rake test:all
rake test:[name]

You might get all rake tasks with:

rake -T

Build with Parrot

You can also build cardinal with Winxed (which comes with Parrot)

winxed setup.winxed build


winxed setup.winxed test

Note that some of them will probably fail, as Cardinal is not yet complete

If you want to install Cardinal to your Parrot install directory, run:

winxed setup.winxed install

The compiler will be available as parrot-cardinal


Follow the documentations to start developing cardinal.

Latest Parrot Documentation

Parrot Baby Steps

You are also invited to #parrot on