Feb 2022
14 Mon
15 Tue
16 Wed
17 Thu
18 Fri 12:00 PM – 04:00 PM IST
19 Sat
20 Sun
Mike Solomon
Comonads famously project computations into future contexts. But what if the future is uncertain? What if, like in Demolition Man, the computation wakes up in a hostile, dystopian 2032? Instead, we’d like the computation to wake up in a place more like Encino Man, or at least An American Pickle.
This was the starting point for purescript-wags, a web audio engine that projects future audio states onto the mutable and referentially opaque Web Audio API. In this talk, I’ll show how existential types can be used inside of cofree comonads to add a modicum of type safety to a mutable-state model, and I’ll also show how linear types can be grafted onto comonads as a zero-cost abstraction to tame the volatile Web Audio API.
At the end, I’ll show how this facilitates the rendering of complex audio graphs in a sub-fifteen-millisecond deadline, allowing for low-latency MIDI and audio applications in the browser like https://wags.fm/, https://whatis.wags.fm/ and https://yap.wags.fm/.
Hosted by
Supported by
Community sponsor
Promoted
Promoted
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}