Skip to content
ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage
Other Other
  1. Other 99.0%
  2. Other 1.0%
Branch: master
Clone or download

Latest commit

Latest commit 2801574 Oct 24, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Rename binaries Aug 23, 2019
bytecode
docs
documentation Update all the URLs from '007' to 'alma' Aug 25, 2019
examples
fuzzing
lib
self-host
t
.gitignore add *.rev-deps to .gitignore Dec 21, 2015
.travis.yml
LICENSE
META6.json Update all the URLs from '007' to 'alma' Aug 25, 2019
README.md
ROADMAP.md
feature-flags.json

README.md

Alma Build Status

Alma 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 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, zef 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")'
OH HAI

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

Status

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:

You can’t perform that action at this time.