Programming with concrete data structures and sequential algorithms
Gérard Berry · 1981
We describe the data definition facilities of a new applicative language called CDS, which is based on Kahn-Plotkin's theory of concrete data structures and on Berry-Curien's theory of sequential algorithms. CDS is together an higher-order applicative language in the style of Milner's ML language and a coroutine system in the style of Kahn-Mac Queen's one. Instead of exchanging values only through streams, the CDS coroutines may exchange pieces of arbitrarily complex data structures, including functional and infinite ones. All expressions are evaluated in a lazy way, even those of functional type.