2002Unpublished venueRequires access

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

Dominique Bolignano, Mourad Debabi

Open publisher page 4 citations

Abstract

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.>

About this research paper

What this paper is about

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.>

Why it matters

OpenAlex reports 4 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

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.>

Key concepts: Concurrency, Denotational semantics, Programming language, Computer science, Denotational semantics of the Actor model, Functional programming, Semantics (computer science), Process calculus

Related papers

Back to paper searchBrowse research topicsOriginal source
A denotational model for the integration of concurrent, functional and imperative programming — Research Paper | ScholarLens