Welcome! This website aims to signpost the different uzulangs, and the communities, resources and ideas around them.

What is an Uzulang?

An Uzulang is a member of a family of languages in the style of TidalCycles, Strudel and friends.

Uzulangs tend to be based on the same model of representing patterns of time, and generally feature the same or similar 'mini-notation' for describing sequences (inspired by the polymetric expressions in the venerable Bol Processor). They have grown out of the live coding community, and so are generally used for making music, often in an improvised or semi-improvised way (e.g., by writing code to make music while a live audience listens). Live coding is where people write code to make live music (or other time-based art like visuals or choreography).

TidalCycles-style uzulangs

Usually embedded in a general purpose language, with common 'mininotation'. Uzu means whirlpool in Japanese. Strudel and Vortex also mean whirlpool, in German and English respectively. There is a vague theme here around cyclic watery formations.

Name Links Host language License Notes
TidalCycles (aka Tidal) home, source Haskell GPLv3
Strudel home, source JavaScript AGPLv3 Can also parse Tidal-like syntax and mondonotation
idlecycles chapters 1, 2, 3, 4, 5, 6 (and watch froos's garden for new chapters) JavaScript AGPLv3 Minimal implementation mostly intended for learning and experimentation
Estuary home, source JavaScript / Haskell GPLv3 A platform for network music including 'mini-Tidal' among many others
Tranquility source Lua GPLv3
Vortex source Python GPLv3
Cycles docs, source Rust GPLv3
Kidal source Kotlin GPLv3
Piratidal source Clojure GPLv3
Jaffle home YAML (based on Strudel) AGPLv3
Web Tidal home source TypeScript (Haskell-style syntax/types) AGPLv3

'New wave' uzulangs

These have a custom syntax, known as 'maxi-notation' or 'mondo-notation'

Name Links Host language License Notes
Zwirn source Haskell GPLv3
Modal source, announcement Lua GPLv3
Godwit source Haskell AGPLv3 based on simply-typed lambda calculus
froos's uzunotation chapters 1, 2, 3 Javascript AGPLv3
mondonotation source PR Javascript AGPv3 part of Strudel (see above)

Related communities

Related research publications

Contribute to this page

If you make an uzulang you'd like to add to one of hte above lists, or would like to edit/fix or add any other links or info, please submit a pull request to this file.

Please note that if your language is based on an existing one (e.g. by reading its source code and porting parts of it), then you must abide by its software license. If you find a language partly based on a copyleft system but with an incompatible license, please note that the original license will still apply.