# Marsha

> Functional, English-based language whose .mrsh files (declaration, description, examples) are compiled to tested Python by an LLM. Alpha implementation; last maintainer activity early Aug 2023.

**Camp:** Orchestration
**Author:** David Ellis (Alan Technologies)
**Implementation language:** Python
**Compilation target:** Python (generated by an LLM, with auto-generated tests)
**Licence:** MIT
**First seen:** July 2023
**Maturity:** early implementation
**Site:** https://github.com/alantech/marsha
**Repo:** https://github.com/alantech/marsha

## Key idea

Marsha's framing is that the LLM is the compiler. A .mrsh source file is a
Markdown-shaped specification with three sections per function: a typed
declaration, an English description, and a list of input/output examples.
The Marsha toolchain prompts an LLM to produce Python that satisfies the
declaration, uses the examples to synthesise a test suite, and iterates with
corrective feedback until the tests pass or the attempt budget is exhausted.

## The thesis.

Marsha's framing predates almost every other entry in the catalogue: the LLM is the compiler. A `.mrsh` source file is a Markdown-shaped specification with three sections per function &mdash; a typed declaration (`# func name(InputType): OutputType`), an English description of behaviour, and a bullet list of input/output examples including expected error cases. The Marsha toolchain prompts an LLM to generate Python that satisfies the declaration, uses the examples to synthesise a pytest suite, runs the suite, and iterates with corrective feedback until the tests pass or the configured attempt budget is exhausted. CLI flags (`-a` attempts, `-n` parallel "thought" threads, `-q` quick-and-dirty, `--exclude-main-helper`) expose the iteration parameters directly to the user. Generated programs ship with an auto-attached CLI wrapper and an optional REST-server mode (`-s`).

## Published results.

The repository ships an alpha implementation, an examples directory (general-purpose, web-scraping, data-mangling), and a CI workflow that times compilations. The README's only quantitative target is its own roadmap: "We aim for 80%+ accuracy on our examples", with the roadmap looking to push that "above 90%". The compiler requires `OPENAI_ORG` and `OPENAI_SECRET_KEY`; support for other or local LLMs is listed as planned but unimplemented. The `setup.py` PyPI classifier is `Development Status :: 2 - Pre-Alpha`.

## Status.

The repository is MIT-licensed, was launched alongside a Show HN post on 1 August 2023 (news.ycombinator.com item 36864021), and reached the high-hundreds in stars with around a dozen forks. The last maintainer activity on the main branch &mdash; pull requests #159&ndash;#164 from `dfellis` and issue #165 from `depombo` &mdash; is dated 1&ndash;8 August 2023 (PR #164 "Embed Llama.cpp into Marsha for local usage" opened 7 Aug 2023; issue #165 "Add LlamaCPP support" opened 8 Aug 2023); the project has received no further maintainer pull requests or issues since. Both principals subsequently moved on (David Ellis to IaSQL and later the Alan-lang project; Luis de Pombo's LinkedIn lists continued tenure at Alan Technologies). Marsha is catalogued because the "LLM is the compiler" framing it shipped in 2023 anticipates the 2025 orchestration papers in this camp, not because the alpha implementation is under active development.

## Design DNA

- **[Pel](https://agentlanguages.dev/languages/pel.md)** *(Orchestration)* — Same camp, two years apart. Marsha (2023) treats the LLM as a compiler emitting Python under English+examples; Pel (2025) treats the LLM as a code emitter constrained by a grammar designed for it. Both predate the now-common 'agents write code' framing.
- **[Boruna](https://agentlanguages.dev/languages/boruna.md)** *(Orchestration)* — Opposite stance on where the LLM sits in the stack. Marsha puts the LLM at the back end of a compiler. Boruna treats every LLM call as a policy-gated effect inside a deterministic VM. Same camp, inverted topology.
- **[Quasar](https://agentlanguages.dev/languages/quasar.md)** *(Orchestration)* — Different generation: Quasar measures execution-time and approval-interaction reductions on ViperGPT/CaMeL; Marsha measures end-to-end compile success rate against its own examples ('we aim for 80%+ accuracy').

---

HTML version: https://agentlanguages.dev/languages/marsha/
Catalogue index: https://agentlanguages.dev/llms.txt
Catalogue homepage: https://agentlanguages.dev/index.md
