Jump to : Download | Abstract | Contact | BibTex reference | EndNote reference |


Jean-Pierre Banātre, Pascal Fradet, Yann Radenac. Generalized Multisets for Chemical Programming. Research Report INRIA, No 5743, November 2005.

Download [help]

Download paper: Follow the (link)

Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.


Gamma is a programming model where computation can be seen as chemical reactions between data represented as molecules floating in a chemical solution. This model can be formalized as associative, commutative, conditional rewritings of multisets where rewrite rules and multisets represent chemical reactions and solutions, respectively. In this article, we generalize the notion of multiset used by Gamma and present applications through various programming examples. First, multisets are generalized to include rewrite rules which become first-class citizen. This extension is formalized by the $\gamma$-calculus, a chemical model that summarizes 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 generalized by allowing elements to have infinite and negative multiplicities. Semantics, implementation and applications of this extension are considered


Pascal Fradet http://pop-art.inrialpes.fr/people/fradet/

BibTex Reference

   Author = {Banātre, Jean-Pierre and Fradet, Pascal and Radenac, Yann},
   Title = {Generalized Multisets for Chemical Programming},
   Number = {5743},
   Institution = {INRIA},
   Month = {November},
   Year = {2005}

EndNote Reference [help]

Get EndNote Reference (.ref)