On Internalizing Modules as Agents in Concurrent Constraint Programming - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2006

On Internalizing Modules as Agents in Concurrent Constraint Programming

Remy Haemmerle
  • Fonction : Auteur
  • PersonId : 835168
Francois Fages
Sylvain Soliman

Résumé

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.
Fichier principal
Vignette du fichier
RR-5981.pdf (344.61 Ko) Télécharger le fichier

Dates et versions

inria-00096644 , version 1 (19-09-2006)
inria-00096644 , version 2 (21-09-2006)
inria-00096644 , version 3 (26-09-2006)

Identifiants

  • HAL Id : inria-00096644 , version 2

Citer

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

Collections

INRIA-RRRT
95 Consultations
61 Téléchargements

Partager

Gmail Facebook X LinkedIn More