• Stars
    star
    137
  • Rank 260,334 (Top 6 %)
  • Language Raku
  • License
    Artistic License 2.0
  • Created over 9 years ago
  • Updated 16 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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:

More Repositories

1

proto

A a hyper-lightweight dependency tracking and project installation system
Perl
72
star
2

web

A Perl 6 web framework
Perl
49
star
3

yapsi

A Perl 6 compiler-and-runtime written in Perl 6
Perl 6
46
star
4

ufo

Swoops down and creates your Perl 6 project Makefile for you
Perl 6
27
star
5

bel

An interpreter for Bel, Paul Graham's Lisp language
Perl
25
star
6

yarn

A proof-of-concept blogging application using Perl 6's Web.pm
Perl
17
star
7

markdown

Markdown parser in Perl 6
Perl 6
14
star
8

tote

An addictively helpful TDD harness for Perl 6
13
star
9

tardis

Time traveling debugger in Perl 6
Perl
13
star
10

psyde

A static webpage manager (written in Perl 6)
Perl
12
star
11

gge

Glacial Grammar Engine -- a Perl 6 grammar engine written in Perl 6
Perl 6
12
star
12

druid

A connection-oriented board game written in Perl 6
Perl 6
12
star
13

p6cc2012

The Perl 6 coding contest, 2012 edition
Perl
11
star
14

farm

Little Animal Farm, a WWII polish family game, implemented in Perl 6
Perl
11
star
15

html-template

A simple almost-port of CPAN's HTML::Template to Perl 6
Perl 6
10
star
16

crypt

A text adventure game written in Perl 6
Perl 6
9
star
17

xml-writer

A Perl 6 module to generate XML
Perl 6
8
star
18

csv

A parser for CSV (comma-separated values) files for Perl 6
Perl
7
star
19

perl6-literate

Literate programming (à la Haskell) in Perl 6
Perl 6
7
star
20

osdc-fr-2010-hardcore-bug-reporting

Talk given at OSDC.fr 2010: 'Hard-core bug reporting'
6
star
21

ipso

A metacircular Lisp in TypeScript
TypeScript
6
star
22

compiler-book

A book about writing compilers. In very early stages of writing.
6
star
23

git-workflows

a catalogue of Git workflows
5
star
24

dlx-simple

A human way to specify exact cover problems
Perl
4
star
25

programming-language-idea-history

Tracing where features and concepts come from in programming languages
4
star
26

adventure-game-book

30 chapters of learning Perl 6, exemplified by making little games
Perl
4
star
27

lilla-ordboken

Vi gör en ny utgåva av Ebbe Vilborgs "Lilla Ordboken", sv-eo-sv.
4
star
28

git-btree

Captures people's intuition about branches having parent branches, and shows them as a tree
Raku
4
star
29

pun

Provides -p and -n flags to Rakudo Perl 6
4
star
30

taocp

Solving exercises in The Art of Computer Programming
TypeScript
4
star
31

temporal-flux-perl6syn

Creating a new, better S32-Temporal.pod from the Perl 6 synopses
Perl
3
star
32

data-pretty

Righting the last few wrongs in Perl 6 gist output
Perl
3
star
33

Adventure-Engine

Helps build and run adventure games
Perl 6
3
star
34

namnlapp

Namnlapp till kontoret på BMC
3
star
35

bioclipse.p

Graphical front-end for handling statistical data in Bioclipse
3
star
36

workshop

The #masakism workshop
3
star
37

beck

Refactoring web content editor (HTML5/Angular/TypeScript)
JavaScript
3
star
38

lambda-calculus

An implementation of Church's untyped lambda calculus in JavaScript
JavaScript
3
star
39

emmabot

Checks if modules failed and notifies the community
Perl
3
star
40

sambal

A presentation tool that adds a bit of spice
Perl 6
3
star
41

sea-druid

A reimplementation of Druid, the board game, in C
C
3
star
42

syntax-driven

A literate document about doing syntax-driven compilation of the Bel primitives
JavaScript
2
star
43

tdd-chess

A chess implementation in JavaScript
JavaScript
2
star
44

git-learning

Collection of questions, answers, and information about git history and internals
C
2
star
45

talks

Slide material and scripts for various presentations that I've given
HTML
2
star
46

perl6-production-readiness

Perl 6 production readiness -- meant to look a bit like http://html5please.com/
2
star
47

tracks

Investigation into how many distinct train tracks one can build with my son's set of 16 pieces
Perl 6
2
star
48

infinite-canvas

A presentation system that makes a PDF from SVG
2
star
49

nex

An implementation of Nex (neutral Hex)
HTML
2
star
50

emmentaler

Summarizes the state of the Perl 6 application (also known as 'the cheese') in a HTML page
1
star
51

failure

Some files which I have hitherto failed to make into real presentation software
1
star
52

constraint-solver

Declaratively state your problems, and have their solutions spaces searched
Perl
1
star
53

iupac-alkanes

Finds the IUPAC name for a given hydrocarbon
Java
1
star
54

shrdlu

The classical SHRDLU engine implemented in Perl 6
Perl
1
star
55

zarah

A simple IRC bot
Perl
1
star
56

mishu

A programmable online software agent
Perl 6
1
star
57

git-branch-visualizer

Visualizes branches in a Git project
Perl 6
1
star
58

index-multidim

Get some S09 multidimensional indexing goodness before S09 actually lands in Rakudo
Perl
1
star
59

hex-corpus

A three-layer corpus of hex games from LittleGolem
HTML
1
star
60

perl-coaching

Beginner's course in Perl
Perl
1
star
61

nugget

A small programming language
JavaScript
1
star
62

rationator

Analyzing Hex positions using little single-minded matching routines
Perl
1
star
63

cv

Curriculum vitæ
1
star
64

dom

A Perl 6 implementation of the Document Object Model
Perl
1
star
65

rt-statistics

Collecting and summarizing Perl 6 RT tickets
1
star
66

epi

Intentional testing
Perl
1
star
67

7-wonders

The seven wonders of the ancient grammar engine
Perl
1
star
68

my-rt-tickets

Scripts to fetch, handle, and make statistics on my perl6 RT tickets
1
star
69

span-analysis

A game-tree analyzer for the game Span
Go
1
star
70

save-useperl-posts

HTML files and conversion scripts for the transition from use.perl.org
1
star
71

markdown-p6

A Perl 6 port of the original Markdown-to-HTML parser
1
star
72

category-theory-book

I'm writing a book about category theory
1
star
73

delta-language

A language with a focus on control flow
1
star
74

text-indented

Text::Indented — parse indented text in Perl 6
Perl
1
star
75

larry-p6l-emails

I threw together a script that downloads Larry Wall's emails to perl6-language. Here's the script, and the emails.
1
star
76

druid-beta-series

A few experimental druid strategy scripts
1
star
77

strangelyconsistent-blog-posts

The posts of the blog "Strangely Consistent" in their original Markdown format
1
star