Long ago, Kahn and Plotkin have invented concrete data structures (cds) as concrete representations for certain Scott domains. The advantage of cds over abstract domains is that their properties can be derived from common set-theoretical notions. While working on the semantics of sequentiality, Berry and Curien used cds to design a non-standard functional programming language called CDS0. It is non-standard because its denotational semantics is an unusual (cds-) model of the lambda-calculus and because it has no variables and lambda-abstraction, using instead so-called cds "states" as functional values. To us, the most interesting property of CDS0 is that its "functions" are observable: a function taking other functions as arguments can make decisions based on their content. Later, Brookes and Geva invented generalised cds (gcds) so that non-sequential gcds form a cartesian closed category (model of the lambda-calculus) with continuous functions. We are presently applying Berry and Curien's idea adapted with gcds to the design of a functional parallel language. Our main goal is to use programs to observe other program's communication characteristics.

I worked with Pr. Gaétan Hains to the CDS* project from the end of 1996:

I began to contribuate to the CDS* project with my masterthesis: Loulergue96.The CDS* project was initiated by Gaétan Hains in collaboration with John Mullins:

Olivier Charloton has collaborated with us in 1996.