Skip to content
Public template

About

Self-hosted compiler foundation for building your own language.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

mini

Build your own language from a working, self-hosted compiler.

mini is a small language and compiler foundation for people who want to shape a language around their own needs. Its compiler is written in mini, compiles to readable JavaScript, and verifies that it can rebuild itself after changes.

Try it

The browser playground is published through GitHub Pages for this repository. It lets you edit and run mini programs without installing anything.

To run mini locally, use Node.js 22.18.0 or newer:

git clone <repository-url>
cd Mini
./bin/bootstrap
./bin/mini run samples/lists/list-join.mini

The sample builds a list and prints one | two | three. The compiler and runtime use Node's built-in modules; no packages are needed to run the generated tools.

What you get

  • A compiler written in mini that generates readable JavaScript and C11.
  • A command-line tool to check, format, compile, run, and test programs.
  • A browser playground with runnable examples and generated JavaScript.
  • A self-hosting check that verifies successive compiler generations match.
  • A focused language with functions, control flow, text, lists, maps, and JSON.

mini is alpha software, intended as a foundation to extend rather than a general-purpose application language. Read why mini for its goals and tradeoffs.

Learn more

For repository development, see contributing. mini is licensed under Apache-2.0.

About

Self-hosted compiler foundation for building your own language.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages