The name is a riff on the 12th century scholar and inventor Ismail al-Jazari. al-Jazari is thought to have invented one of the first programmable musical machines, a “musical automaton, which was a boat with four automatic musicians that floated on a lake to entertain guests at royal drinking parties.”
The limitation is a contrivance, born out of a desire to better understand what it feels like to design an environment for the reading and writing of computer programs. Let me try to explain.
Last year I tried to write an active essay. The active essay is a genre of literature which combines the “written essay, program fragments, and the resulting live simulations into a single cohesive narrative”. The format is designed to allow readers to perform exploratory programming, to answer “what if” questions by editing example programs as they read. Ted Kaehler wrote the first active essay in the mid-1990s using HyperCard. A recent example was written by Nicky Case, Simulating the World in Emoji.
Writing a coherent essay is hard enough. Interleaving one with programs that are approachable and editable is, for me anyway, a great challenge. After lots of disappointing attempts to author an active essay, I decided to attempt a more modest project: To create a simple browser-based experience where the main method of interaction involves reading, editing, and reusing example programs. JAZZARI is the result of that effort.
If you're interested in environments that have been designed specifically to teach programming, check out LOGO or Scratch. Sam Aaron’s Sonic Pi is designed to teach programming through music composition. Ear Sketch is another.
If you're interested in interactive music tutorials, I recommend Ableton's Learning Music, NYU's musedlab, and Funklet.
Yes, please do. I'm more than happy to add additional programs to the library, and/or change the existing ones.
Early on, I spent a fair amount of time futzing around with PEG.js, convinced that I would stumble upon a simple yet powerful domain specific language, my own little LOGO for music. I gave up when it occurred to me that I didn't know enough about music or programming language design to “Pull a Papert” and I was floundering like Bruegel’s Icarus, making an ass of myself.