alea
Isohypses: a contour map of a country that does not exist
Isohypses edition 0xa1ea03 an edition from the exhibition

A language where a program is a work of art, and every run draws a new edition of it.

This map was drawn by alea in your browser, a moment ago. Its seed names it: run the same program with the same seed and you get this exact map back, on any machine. Any other seed draws a country no one has seen.

Open the playground Install alea

The program, isohypses.alea
Loading…

Chance is part of the language

An alea program describes a family of artworks. Where you would write a number, you can write a distribution instead: ~between(0.25, 0.4) lets alea decide, once per edition. ~~ decides again at every point of the picture, and choose picks between whole structures.

Then you say what to make of it. The same work can render an image, a looping video, a sound, a sculpture to print in 3D, or a MIDI score that plays in your DAW. Works can use other works as parts, take a photo or a sound as input, and read from a pipe.

It is written for artists first: no setup to try it, plain words for its functions, and error messages that say how to fix the problem.

work Moon {
  let moon  = circle(size: ~between(0.25, 0.4))  // alea decides
  let shade = move(moon, x: 0.08)                 // nudged right
  render image(merge(clouds() * 0.25, cut(moon, shade)), palette: "night")
}

Exhibition

Five works, six editions each, as posted on Instagram @sudo.mp3. Each picture is named by its seed; the command beside each work draws its first one again.

In motion, with sound

A render video and a render sound in the same work give a film with its own soundtrack, both drawn from the same edition.

Correspondances One day of service on the network, with its sound.
Culture Seventy-two hours of incubation in twenty seconds.

Install

In the browser

Nothing to install: the playground runs alea, with examples and the tour of the language.

macOS and Linux

brew install sudo-bngz/tap/alea

With Rust

cargo install alea-lang

Any system

The latest release has alea for macOS, Linux and Windows, and the plugin for Ableton Live and other DAWs (VST3, CLAP).

alea isohypses.alea              # one edition: isohypses-<seed>.png
alea isohypses.alea -n 6         # six editions
alea isohypses.alea --seed 0x2a  # edition 0x2a, again

Then read the handbook: the guide, one idea per chapter, and the reference.