tosyx
Joined 13 years ago
Joined 13 years ago
The main mechanisms used for composition are lazy streams (via generators), events (via prototype-like composition), and higher level structures (via classes).
Of course the client has been replaced by Clojure in Overtone, and I'm pretty sure I've seen JavaScript clients in the wild as well...
It's worth pointing out that the underlying synthesis and routing engine is extremely versatile, with signal graphs compiled from a user-authored OO AST.
I'm looking forward to returning to Supercollider next year as I'm hoping to return to study sound design and composition. My stuff is currently at soundcloud.com/slex...
[1/3] http://www.youtube.com/watch?v=gZt2HhFXB3M
[2/3] https://www.youtube.com/watch?v=WbRApO3k_Jo
[3/3] https://www.youtube.com/watch?v=LFjCJFsbS0U
Another series by Curtis, "The Century of the Self", explores similar themes in the context of psychology (Freud and Reich), propaganda (Bernays), and the rise of market-based democracy:
A nice way to think about how they can be used (and the difference between parallel and sequential evaluation discussed towards the end of the article) is in handling promises:
The parallel or sequential composition of a list of promises returns a promise of a list.
The monadic composition resolves each promise sequentially (via the Haskell operator `sequence` or as a cascade of JavaScript `.then` calls).
The parallel applicative composition resolves all promises simultaneously.