A denotational model for the integration of concurrent, functional and imperative programming

Dominique Bolignano, Mourad Debabi · 2002

We deal with the theoretical foundations of integrating the concurrent, functional and imperative programming paradigms. The intent is to present a denotational model for a language that is aimed to integrate all the three paradigms. Concurrency is supported through the embedding of a CSP-like process algebra into a functional language. Expressions may communicate through unidirectional channels and can also be composed through some concurrency combinators. The notion of reference is used to support imperative aspects. References, channels, and functions are made first-class citizens. Following an informal presentation of the language we describe its static semantics. This semantics is effect-based i.e. for each expression it yields a type, the side effects and the communication effects. The use of types and effects allows a safe and efficient integration of the three programming paradigms and also solves some technical problems related to the foundations of the dynamic domains. Then the dynamic semantics is presented. It is denotational and rests on an extension of the mathematical model of acceptance trees.>

Read the paper · More papers on PaperTik