[Agda] Functional Reactive Types

Alan Jeffrey ajeffrey at bell-labs.com
Mon Mar 31 22:32:38 CEST 2014


Hi everyone,

A paper about FRP formalized in Agda:

   Functional Reactive Types
   A. S. A. Jeffrey.
   To appear in Proc. EACSL Computer Science Logic /
   IEEE Logic in Computer Science. 2014.
   http://ect.bell-labs.com/who/ajeffrey/papers/lics14.pdf

The summary is that FRP streams of values [v1,v2,...] can naturally 
typed using a stream of types [A1,A2,...] where each vi has type Ai. 
This means that functions on streams of types can be used to give the 
types of functions on streams of values. For example the tail function 
takes a stream [v1,v2,...] of type [A1,A2,...] and gives back the stream 
[v2,v3,...] of type [A2,A3,...] so its type can be considered to be 
(tail : [As] -> [tail(As)]). The paper discusses a minimal FRP library 
(head, tail, cons, induction, and applicative functor) and shows that it 
is enough to type itself, and to define a constructive past-time LTL.

Of particular interest to this mailing list may be the Agda sources 
themselves (http://ect.bell-labs.com/who/ajeffrey/papers/lics14.tgz) 
since they use a collection of LaTeX and Agda trickery to allow the 
paper to be a Literate Agda development where the Agda (hopefully) 
doesn't get in the way too much.

Alan.


More information about the Agda mailing list