Small experimental language with a license to macro
Clone or download
masak Make all "Future feature" sections h4 headings
I find it looks nicer with them all being the same size.
Latest commit 63d2b03 Nov 20, 2018

README.md

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 https://github.com/masak/007.git
[...]

Run it

Set the PERL6LIB environment variable:

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

Now this should work:

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

$ bin/007 examples/format.007
abracadabra
foo{1}bar

Status

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: