Home

What is Musi?

Musi is a programming language where most code gives a value. It has pattern matching, effects, and a small set of commands. Learn the language, install Musi, check the playground, and find project links from one site.
  • Most code gives a value, so data is easier to follow.
  • Install from source. Use musi for a project and music for one file.
  • Learn, install, playground, and project links each have their own page.

Start with one value, one function, and one final result. This matches Musi's beginner path.

Musi reads top to bottom. Bind values with let, define small functions the same way, then end with the result you want.

Sample
let base := 21;

let twice (x : Int) : Int := x + x;

let reply := twice(base);
reply;
Status
Docs
Start with the book
Chapters use examples you can run and commands you can try.
Install
Install from source
Build Musi from source. Use musi for a project. Use music for one file.
Playground
Not ready yet
The browser runner is not ready. Install Musi to run code now.
Primary paths · Choose a path
Learn · Find docs

Search chapters, effects, types, operators, and command questions.

part / StartOpenStartBegin with a small file, a few names, and one result.part / Core expressionsOpenCore expressionsRead values, calls, operators, functions, and small sequence expressions.part / DataOpenDataUse visible data shapes and match them directly.part / OrganizationOpenOrganizationMake names easy to find and reuse.
Learn · Why Musi
Expression-first

Read files from top to bottom with let, match, and code that gives values.

Effects stay clear

Use effects and handlers without extra setup code.

Two commands

Use musi for a project. Use music for one file or one built file.

Clear site pages

Learn, Install, Playground, and Community each have one clear job.

Learn · Parts and ChaptersLearn