Skip to content
/ alma Public

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

License

Notifications You must be signed in to change notification settings

masak/alma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e41f33e Â· Feb 11, 2025
Aug 23, 2019
Jun 6, 2018
Feb 21, 2021
Sep 15, 2023
Aug 25, 2019
Apr 5, 2019
Oct 23, 2019
Aug 23, 2019
Feb 11, 2025
Feb 21, 2021
Dec 21, 2015
Aug 23, 2019
Apr 24, 2017
Aug 25, 2019
Feb 21, 2021
Sep 24, 2021
Aug 25, 2019

Repository files navigation

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, 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:

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages