On a monadic semantics for freshness

A standard monad of continuations, when constructed with domains in the world of FM-sets [M.J. Gabbay, A.M. Pitts, A new approach to abstract syntax with variable binding, Formal Aspects Comput. 13 (2002) 341-363], is shown to provide a model of dynamic allocation of fresh names that is both simple and useful. In particular, it is used to prove that the powerful facilities for manipulating fresh names and binding operations provided by the "Fresh" series of metalanguages [M.R. Shinwell, Swapping the atom: Programming with binders in Fresh O'Caml, Proc. MERλIN, 2003; M.R. Shinwell, A.M. Pitts, Fresh O'Caml User Manual, Cambridge University Computer Laboratory, September 2003, available at 〈http://www.freshml.org/foc/〉 M.R. Shinwell, A.M. Pitts, M.J. Gabbay, FreshML: Programming with binders made simple, in: Proc. ICFP '03, ACM Press, 2003, pp. 263-274] respect α-equivalence of object-level languages up to meta-level contextual equivalence.

[1]  Andrzej S. Murawski,et al.  Nominal games and full abstraction for the nu-calculus , 2004, LICS 2004.

[2]  Andrew M. Pitts,et al.  Higher order operational techniques in semantics , 1999 .

[3]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[4]  Mark R. Shinwell The fresh approach: functional programming with names and binders , 2005 .

[5]  Christian Urban,et al.  Nominal unification , 2004, Theor. Comput. Sci..

[6]  Andrew M. Pitts,et al.  Operational Semantics and Program Equivalence , 2000, APPSEM.

[7]  James Ee The fresh approach. , 1953 .

[8]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[9]  Tim Sheard,et al.  On the Denotational Semantics of Staged Execution of Open Code , 2004 .

[10]  Mark R. Shinwell Swapping the atom: Programming with binders in Fresh O''Caml , 2003 .

[11]  Ian Stark Categorical models for local names , 1996, LISP Symb. Comput..

[12]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[13]  Viggo Stoltenberg-hansen,et al.  In: Handbook of Logic in Computer Science , 1995 .

[14]  Andrzej S. Murawski,et al.  Nominal games and full abstraction for the nu-calculus , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[15]  Manfred Broy,et al.  Engineering Theories of Software Construction , 2001 .

[16]  João Saraiva,et al.  Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures , 2000 .

[17]  Andrew M. Pitts,et al.  Relational Properties of Domains , 1996, Inf. Comput..

[18]  Samson Abramsky,et al.  Domain theory , 1995, LICS 1995.

[19]  Andrew M. Pitts,et al.  Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new? , 1993, MFCS.

[20]  Philip Wadler,et al.  Comprehending monads , 1990, Mathematical Structures in Computer Science.

[21]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[22]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[23]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[24]  Carolyn L. Talcott,et al.  1 Equivalence in Functional Languages with E ectsIan , 2007 .

[25]  I. Stark,et al.  Operational reasoning for functions with local state , 1999 .

[26]  Andrew M. Pitts,et al.  Nominal Logic: A First Order Theory of Names and Binding , 2001, TACS.

[27]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[28]  Simon Peyton Jones,et al.  Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell , 2005 .