Skip to Main content Skip to Navigation
New interface
Reports (Research report)

On Internalizing Modules as Agents in Concurrent Constraint Programming

Abstract : Module systems are an essential feature of programming languages as they facilitate the re-use of existing code and the development of general purpose libraries. There are however two somewhat contradictory ways of looking at modules in a given programming language. On the one hand, module systems are largely independent of the particulars of programming languages, and several examples of module systems have indeed been adapted to different programming languages. On the other hand, the module constructs often interfere with the programming constructs, and may be redundant with other scope mechanisms of programming languages, such as closures for instance. There is therefore a need to unify the programming concepts and constructs that are similar, and retain a minimum number of essential constructs to avoid arbitrary programming choices. In this paper, we realize this aim in the framework of linear logic concurrent constraint programming (LCC) languages. We first show how declarations and closures can be internalized as agents in LCC. We then present a modular version of LCC (MLCC), where modules are referenced by variables and where implementation hiding is obtained with the usual hiding operator for variables. We develop the logical semantics of MLCC in linear logic, and show the completeness of the operational semantics for the observation of successes and accessible stores. Finally we discuss a complete module system for constraint logic programming, derived from the MLCC scheme.
Document type :
Reports (Research report)
Complete list of metadata

Cited literature [1 references]  Display  Hide  Download
Contributor : Remy Haemmerle Connect in order to contact the contributor
Submitted on : Tuesday, September 26, 2006 - 2:12:44 PM
Last modification on : Wednesday, October 26, 2022 - 8:16:14 AM
Long-term archiving on: : Thursday, September 23, 2010 - 3:21:32 PM


  • HAL Id : inria-00096644, version 3



Remy Haemmerle, Francois Fages, Sylvain Soliman. On Internalizing Modules as Agents in Concurrent Constraint Programming. [Research Report] RR-5981, INRIA. 2006. ⟨inria-00096644v3⟩



Record views


Files downloads