Toward a Categorical Foundation of Functional Reactive Programming
Abstract:
I will propose a
simple category-theoretic foundation for functional reactive
programming (FRP), which may also be useful in connection with
incremental computation (IC). Both of these worlds involve objects that
look like A-☐-B, as well as combinators that can be visualized as
wiring diagrams. These boxes and combinators are often given meanings
in terms of stream processors or state machines. I will give a
categorical description of these ideas using symmetric monoidal
categories. That is, I'll introduce a category W of boxes and wiring
diagrams (syntax), and a functor P: W-->Set of propagators (a
semantic interpretation of W). The mathematics is joint work with Dylan
Rupel and Nat Stapleton, and the connection to PL is joint with David
Darais. I'll assume the audience has a basic understanding of
categories and functors, but not of monoidal categories or of anything
about FRP or IC.
Bio: David Spivak received a PhD in
mathematics from UC Berkeley in 2007; his thesis was in algebraic
topology. For the next three years he was a post doc in the math
department at the University of Oregon. During this time his focus
moved toward finding novel category-theoretic foundations of various
information-bearing structures, such as databases. Since 2010, he has
continued this research as a post doc, and then research scientist, in
the math department at MIT.