Welcome! This website aims to signpost the different uzulangs, and the communities, resources and ideas around them.
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).
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 |
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) |
#uzu-innards
channelIf 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.