Need help with alma?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

132 Stars 14 Forks Artistic License 2.0 1.4K Commits 215 Opened issues


ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage

Services available


Need anything else?

Contributors list

Alma Build Status

Alma is a small language created as a testbed for Raku macros. Its goal as a language is to inform the implementation of macros in Raku, 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 Raku is embodied in Alma.

Alma was previously known as "007", in reference to the "Q" data structure which represents program fragments.

Get it

If you're just planning to be a Alma end user,

is the recommended way to install Alma:
zef install alma

(If you want to install from source, see the documentation.)

Run it

Now this should work:

$ alma -e='say("OH HAI")'

$ alma examples/format.alma abracadabra foo{1}bar


Alma is currently in development.

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

Useful links

To learn more about macros:

To learn more about Alma:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.