Hostname: page-component-74656f9884-c52kr Total loading time: 0 Render date: 2026-11-07T10:24:02.759Z Has data issue: false hasContentIssue false

Generalised multisets for chemical programming

Published online by Cambridge University Press:  24 July 2006

J.-P. BANÂTRE
Affiliation:
INRIA/IRISA, Université de Rennes 1, Campus de Beaulieu, 35042 Rennes Cedex, France Email: jbanatre@irisa.fr, yradenac@irisa.fr
P. FRADET
Affiliation:
INRIA Rhône-Alpes, 655 avenue de l'Europe, 38330 Montbonnot, France Email: Pascal.Fradet@inria.fr
Y. RADENAC
Affiliation:
INRIA/IRISA, Université de Rennes 1, Campus de Beaulieu, 35042 Rennes Cedex, France Email: jbanatre@irisa.fr, yradenac@irisa.fr
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Gamma is a programming model in which computation can be seen as chemical reactions between data represented as molecules floating in a chemical solution. This model can be formalised as associative, commutative, conditional rewritings of multisets where rewrite rules and multisets represent chemical reactions and solutions, respectively. In this article we generalise the notion of multiset used by Gamma and present applications through various programming examples. First, multisets are generalised to include rewrite rules, which become first-class citizens. This extension is formalised by the $\gamma$-calculus, which is a chemical model that summarises in a few rules the essence of higher-order chemical programming. By extending the $\gamma$-calculus with constants, operators, types and expressive patterns, we build a higher-order chemical programming language called HOCL. Finally, multisets are further generalised by allowing elements to have infinite and negative multiplicities. Semantics, implementation and applications of this extension are considered.

Information

Type
Paper
Copyright
2006 Cambridge University Press