Mun Programming Language

A programming language empowering creation through iteration.


Hot Reloading

Mun natively supports hot reloading – the process of changing code and resources while an app is running – on all target platforms and consoles with marginal runtime overhead. Its runtime has useful error messages, and can easily be embedded into other languages.

Static Typing

Mun’s type system eliminates an entire class of runtime errors and provides powerful IDE integration with auto-completion and refactoring tools allowing developers to focus on writing code.


Mun uses LLVM to compile to machine code that can be natively executed on any target platform, guaranteeing the best possible runtime performance.

Made for Creators


Quickly iterate designs using Mun’s hot reloading capabilities, without compromising performance.

Mobile & Console

Leverage Mun’s cross compilation to unlock hot reloading for console and mobile development.


Use Mun’s toolchain to build, tweak, and deploy applications to your robot with zero downtime.


Use the same Mun toolchain to build, test, and deploy content to the web using WebAssembly modules.


Embed Mun into AR / MR / VR apps to unleash the power of creation in an immersive environment.

Work in Progress

We appreciate your interest in Mun, but you are a little early to the party. The Mun language and toolchain are very much a work in progress. If that doesn’t scare you, then you might be interested in:

ContributingDonating   Updates


The driving force behind the development of Mun is natively supported hot reloading for functions and data. As such, the language and its syntax will keep growing at the rate in which we add hot reloading-supported semantics.

We take inspiration from a scala of application, scripting, and systems programming languages, but we also want the community’s input in defining a syntax that you find comfortable to use. We will regularly tweet proposals for new syntax, so make sure to follow us.

fn main() {
    let sum = add(a, b);

    let is_true = true;
    let var:  float = 0.5;

fn add(a:  int, b:  int):  int {
    a + b

Support us

The Mun programming language is developed by a group of volunteers. We welcome donations, which enable us to spend more time working on Mun.


Mun is sponsored by the following companies:

Read More

Leave a Reply

Your email address will not be published. Required fields are marked *