Small experimental language with a license to macro
Clone or download
Latest commit fdbcf9b Dec 12, 2018

007 Build Status

007 is a small language created as a testbed for Perl 6 macros. Its goal as a language is to inform the implementation of macros in Perl 6, by means of being a faster-moving code base and easier to iterate on towards good solutions.

Rakudo already contains a rudimentary implementation of macros, but at this point the most mature macro implementation for Perl 6 is embodied in 007.

The name "007" was chosen because the data type representing program fragments is called Q.

Get it

You need to have Rakudo Perl 6 installed and in your path.

Then, clone the 007 repository. (This step requires Git. There's also a zip file.)

$ git clone

Run it

Set the PERL6LIB environment variable:

$ cd 007
$ export PERL6LIB=$(pwd)/lib

Now this should work:

$ bin/007 -e='say("OH HAI")'

$ bin/007 examples/format.007


007 is currently in development.

The explicit goal is to reach some level of feature completeness for macros in 007, and then to backport that solution to Rakudo.

Useful links

To learn more about macros:

To learn more about 007: