Coinductive Stream Calculus in Action with Haskell

Haskell's lazy evaluation makes it easily possible to coinductively specify, and compute, infinitary structures such as streams. In particular, the coinductive stream calculus can easily be implemented using simple Haskell code, and there is a close relationship between systems of behavioural differential equations for streams on one side, and coinductive Haskell specifications of these streams on the other side. We introduce QStream, (another) implementation of the stream calculus in Haskell, which also offers an interface to the Online Encyclopedia of Integer Sequences, enabling us to check streams against the database. Furthermore, we shed some light on the connection between the present Haskell implementation, and the underlying theory.  

hosted by