A more elegant specification for FRP
TeX Makefile
Latest commit 11e69ef Oct 28, 2015 @conal spacing
Failed to load latest commit information.
.gitignore rename Jul 15, 2015
macros.tex moved some macros here Jul 14, 2015
mine.fmt R Jul 15, 2015
more-elegant-frp.lhs Extracted from "The essence and origins of FRP" Jul 23, 2015
notes.md First pass Jun 11, 2015
paul-hudak.jpg some rearrangement; switcher semantics; Paul Hudak Jun 12, 2015


A more elegant specification for FRP

A talk given at LambdaJam 2015 (July 15--16).


This talk serves as a bridge between my keynote talk on Functional Reactive Programming (FRP) and the workshop on Denotational Design. I show how to replace most of FRP’s original denotation (semantic specification) by saying that the meaning function distributes over the abstract interfaces, made precise as simple (and possibly familiar) equations. The resulting denotation is exactly equivalent to FRP’s original, less systematically defined, specification, but didn’t have to be invented specifically for FRP. I call this pattern “denotational design with type class morphisms” and have found it to be applicable to many other library designs as well, some of which appear in the longer workshop. Following this pattern provides simple, precise, and compelling “specifications for free”, while guaranteeing that the usual algebraic laws hold and preventing abstraction leaks.