Matzo: a language for random text
fix name ::= Amir Lucia Wěi; fix job ::= miner fisher clothier; tool := case job in { "miner" => "pickaxe" | "hammer"; "fisher" => "fishing rod" | "net"; "clothier" => "needle" }; expression := 4: "smiled warmly" | 2: "sighed" | 1: "rolled their eyes"; vocalized ::= said murmured observed; puts se[name, "gathered up their", tool, "and", expression, "."]; puts se["\"Time to get to work,\" ", name, vocalized, "."];
The Matzo language is a small experimental programming language designed for producing random snippets of text. Matzo is an expression-oriented language with easy support for weighted nondeterminism, so running a program multiple times can produce hand-crafted but random output.
You can try using Matzo in your browser right here!
Matzo's source code is available on Github.