About

A language that can be changed while it is in use.

Mora grows from an interest in languages that can be changed meaningfully while they are in use: a terse notation for performance, with the whole of a running Common Lisp system behind it.

Motivation

Live coding makes programming part of a performance. A performer edits code to change relationships in time: which sounds occur, how phrases develop, how visual structures respond, and how one part interacts with another. The code is an active part of the performance, not a script started beforehand.

Mora gives performers a concise language for patterns and a full Lisp environment behind it. A few expressions can sequence sound, shape an audiovisual scene, or transform material over time. When an expression is evaluated, selected parts remain available as objects rather than disappearing behind an opaque result.

Temporal query semantics are not unique to Mora. Its design emphasis is the particular combination of retained decomposition, runtime method extension, Lisp embedding, and clients such as Mora Studio.

Influences, kept distinct

  • TidalCycles An important temporal and notational lineage: patterns that answer questions about spans of time.
  • Common Lisp and CLOS The working environment and the extension mechanisms: functions, macros, classes, generic functions, and a live image.
  • The Art of the Metaobject Protocol and Ploy The architectural ambition of an open implementation, informed by the metaobject tradition and Ploy's open interpreter.
  • Christopher Alexander's pattern languages A longer-standing interest in systems that can be altered meaningfully in their situation of use.

The name

Mora is not an acronym. The name was chosen for its temporal meaning, and its explanation begins with time and the design of the language.

The author

Mora was created by Michael Simpson, a musician, artist, researcher, and software engineer who performs as mgs. An active participant in livecode.nyc since 2018, he has performed extensively throughout New York City.

His work spans dozens of projects across music, audiovisual instruments, programming languages, machine listening, and architectural design. He developed MLTK as his thesis at NYU's Interactive Telecommunications Program, and designed and taught Listening Machines, a graduate course on machine listening for creative practice.

His work is strongly informed by Common Lisp, metaobject protocols, and Christopher Alexander's pattern languages.

Mora software is MIT licensed, copyright 2026 Michael Simpson. Dependencies, optional models, and sample libraries keep their own licenses.

Search the documentation

Results update as you type. Use the up and down arrow keys to choose a result and Enter to open it.