{"id":14966137,"url":"https://github.com/masak/alma","last_synced_at":"2026-03-08T07:32:17.361Z","repository":{"id":24313764,"uuid":"27709800","full_name":"masak/alma","owner":"masak","description":"ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage","archived":false,"fork":false,"pushed_at":"2025-02-11T15:15:32.000Z","size":2424,"stargazers_count":141,"open_issues_count":230,"forks_count":15,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-10-19T03:49:34.914Z","etag":null,"topics":["dsl","experimental","grammar","macro","macros","operator","parsing","perl6","slang"],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/masak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-12-08T10:32:38.000Z","updated_at":"2025-09-01T15:28:26.000Z","dependencies_parsed_at":"2024-06-09T17:51:13.497Z","dependency_job_id":"15033215-9855-4a6d-8521-eeea4c041b8b","html_url":"https://github.com/masak/alma","commit_stats":{"total_commits":1342,"total_committers":13,"mean_commits":"103.23076923076923","dds":"0.14530551415797321","last_synced_commit":"4974ae7292c975850d837ac70428fd97868275f1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/masak/alma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masak%2Falma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masak%2Falma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masak%2Falma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masak%2Falma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/masak","download_url":"https://codeload.github.com/masak/alma/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masak%2Falma/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30248895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T05:41:50.788Z","status":"ssl_error","status_checked_at":"2026-03-08T05:41:39.075Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dsl","experimental","grammar","macro","macros","operator","parsing","perl6","slang"],"created_at":"2024-09-24T13:35:52.647Z","updated_at":"2026-03-08T07:32:17.338Z","avatar_url":"https://github.com/masak.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alma [![Build Status](https://secure.travis-ci.org/masak/alma.svg?branch=master)](http://travis-ci.org/masak/alma)\n\nAlma is a small language created as a testbed for Raku macros. Its goal as a\nlanguage is to inform the implementation of macros in Raku, by means of being\na faster-moving code base and easier to iterate on towards good solutions.\n\nRakudo already contains a rudimentary implementation of macros, but at this\npoint the most mature macro implementation for Raku is embodied in Alma.\n\nAlma was previously known as \"007\", in reference to the \"Q\" data structure\nwhich represents program fragments.\n\n## Get it\n\nIf you're just planning to be a Alma end user, `zef` is the recommended way to\ninstall Alma:\n\n```sh\nzef install alma\n```\n\n(If you want to install from source, see [the\ndocumentation](http://masak.github.io/alma/#installation-from-source).)\n\n### Run it\n\nNow this should work:\n\n```sh\n$ alma -e='say(\"OH HAI\")'\nOH HAI\n\n$ alma examples/format.alma\nabracadabra\nfoo{1}bar\n```\n\n## Status\n\nAlma is currently in development.\n\nThe explicit goal is to reach some level of feature completeness for macros in\nAlma, and then to backport that solution to Rakudo.\n\n## Useful links\n\n* [Documentation](http://masak.github.io/alma/) (🔧  under construction 🔧 )\n* [examples/ directory](https://github.com/masak/alma/tree/master/examples)\n* The [Roadmap](https://github.com/masak/alma/blob/master/ROADMAP.md) outlines short- and long-term goals of the Alma project\n\nTo learn more about macros:\n\n* [Hague grant application: Implementation of Macros in Rakudo](http://news.perlfoundation.org/2011/09/hague-grant-application-implem.html)\n* [Macros progress report: after a long break](http://strangelyconsistent.org/blog/macros-progress-report-after-a-long-break)\n* [Macros: what the FAQ are they?](http://strangelyconsistent.org/blog/macros-what-the-faq-are-they)\n\nTo learn more about Alma:\n\n* [Double oh seven](http://strangelyconsistent.org/blog/double-oh-seven) blog post\n* [Has it been three years?](http://strangelyconsistent.org/blog/has-it-been-three-years) blog post\n* This README.md used to contain a [pastiche of the cold open in Casino Royale (2006)](https://github.com/masak/alma/tree/master/documentation/bond-pastiche.md), which was entertaining for some and confusing for others\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasak%2Falma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasak%2Falma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasak%2Falma/lists"}