This talk introduces two symbiotic libraries that leverage properties of the relational algebra to enable elegant client/server web applications. On the server, there’s Unison, with an API similar to ActiveRecord’s, but more general. In addition to has_many and friends, Unison adds relates_to_many and relates_to_one, allowing custom associations to be constructed through the composition of relational operators. For the browser there is June, which offers a JavaScript version of the same API, along with a relational object-store, through which clients can securely pull arbitrary datasets from a Unison-based server, treating it like a relational database. We’ll also explore the nexus of the relational model with event-driven programming and the actor model of concurrent computation.
About the Author