Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Generative unbinding of names

Published: 17 January 2007 Publication History

Abstract

This paper is concerned with a programming language construct for typed name binding that enforces αequivalence. It proves a new result about what operations on names can co-exist with this construct. The particular form of typed name binding studied is that used by the FreshML family of languages. Its characteristic feature is that a name binding is represented by an abstract (name,value)-pair that may only be deconstructed via the generation of fresh bound names. In FreshML the only observation one can make of names is to test whether or not they are equal. This restricted amount of observation was thought necessary to ensure that there is no observable difference between αequivalent name binders. Yet from an algorithmic point of view it would be desirable to allow other operations and relations on names, such as a total ordering. This paper shows that, contrary to expectations, one may add not just ordering, but almost any relation or numerical function on names without disturbing the fundamental correctness result about this form of typed name binding (that object-level αequivalence precisely corresponds to contextual equivalence at the programming meta-level), so long as one takes the state of dynamically created names into account.

References

[1]
B. E. Aydemir, A. Bohannon, M. Fairbairn, J. N. Foster, B. C. Pierce, P. Sewell, D. Vytiniotis, G. Washburn, S. Weirich, and S. Zdancewic. Mechanised metatheory for the masses: The POPLmark challenge. In 18th International Conference on Theorem Proving in Higher Order Logics: TPHOLs 2005, volume 3603 of Lecture Notes in Computer Science, pages 50--65. Springer-Verlag, 2005.
[2]
P. N. Benton and X. Leroy, editors. ACM SIGPLAN Workshop on ML (ML 2005), Tallinn, Estonia, Electronic Notes in Theoretical Computer Science. Elsevier, 2005.
[3]
J. Cheney. Scrap your nameplate (functional pearl). In 10th ACM SIGPLAN Int. Conference on Functional Programming (ICFP'05), Tallinn, Estonia, pages 180--191. ACM Press, 2005.
[4]
M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103:235--271, 1992.
[5]
C. Flanagan, A. Sabry, B. F. Duba, and M. Felleisen. The essence of compiling with continuations. In Proceedings ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'93, Albuquerque, NM, USA, pages 237--247. ACM Press, June 1993.
[6]
M. J. Gabbay and A. M. Pitts. A new approach to abstract syntax with variable binding. Formal Aspects of Computing, 13:341--363, 2001.
[7]
A. D. Gordon. Operational equivalences for untyped and polymorphic object calculi. In Gordon and Pitts {8}, pages 9--54.
[8]
A. D. Gordon and A. M. Pitts, editors. Higher Order Operational Techniques in Semantics. Publications of the Newton Institute. Cambridge University Press, 1998.
[9]
C. A. Gunter. Semantics of Programming Languages: Structures and Techniques. Foundations of Computing. MIT Press, 1992.
[10]
D. J. Howe. Proving congruence of bisimulation in functional programming languages. Information and Computation, 124(2):103--112, 1996.
[11]
S. B. Lassen. Relational reasoning about contexts. In Gordon and Pitts {8}, pages 91--135.
[12]
I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. Journal of Functional Programming, 1:287--327, 1991.
[13]
T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL---A Proof Assistant for Higher-Order Logic, volume 2283 of Lecture Notes in Computer Science. Springer-Verlag, 2002.
[14]
C. Okasaki and A. Gill. Fast mergeable integer maps. In ACM-SIGPLAN Workshop on ML, Baltimore, Maryland, USA, pages 77--86. ACM Press, 1998.
[15]
F. Pfenning. Logical frameworks. In A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, chapter 17, pages 1063--1147. Elsevier Science and MIT Press, 2001.
[16]
A. M. Pitts. Operational semantics and program equivalence. In Applied Semantics, Advanced Lectures, volume 2395 of Lecture Notes in Computer Science, Tutorial, pages 378--412. Springer-Verlag, 2002. International Summer School, APPSEM 2000, Caminha, Portugal, 2000.
[17]
A. M. Pitts. Nominal logic, a first order theory of names and binding. Information and Computation, 186:165--193, 2003.
[18]
A. M. Pitts. Typed operational reasoning. In B. C. Pierce, editor, Advanced Topics in Types and Programming Languages, chapter 7, pages 245--289. The MIT Press, 2005.
[19]
A. M. Pitts. Alpha-structural recursion and induction. Journal of the ACM, 53(3):459--506, 2006.
[20]
A. M. Pitts and M. J. Gabbay. A metalanguage for programming with bound names modulo renaming. In 5th Int. Conference on Mathematics of Program Construction (MPC2000), Ponte de Lima, Portugal, volume 1837 of Lecture Notes in Computer Science, pages 230--255. Springer-Verlag, 2000.
[21]
F. Pottier. An overview of Cαml. In Benton and Leroy {2}, pages 27--52.
[22]
F. Pottier. Static name control for FreshML. Draft, July 2006.
[23]
M. R. Shinwell. The Fresh Approach: Functional Programming with Names and Binders. PhD thesis, University of Cambridge Computer Laboratory, 2005. Available as University of Cambridge Computer Laboratory Technical Report UCAM-CL-TR-618.
[24]
M. R. Shinwell. Fresh O'Caml: Nominal abstract syntax for the masses. In Benton and Leroy {2}, pages 53--76.
[25]
M. R. Shinwell and A. M. Pitts. On a monadic semantics for freshness. Theoretical Computer Science, 342:28--55, 2005.
[26]
M. R. Shinwell, A. M. Pitts, and M. J. Gabbay. FreshML: Programming with binders made simple. In 8th ACM SIGPLAN Int. Conference on Functional Programming(ICFP 2003), Uppsala, Sweden, pages 263--274. ACM Press, 2003.
[27]
C. Urban and S. Berghofer. A recursion combinator for nominal datatypes implemented in Isabelle/HOL. In 3rd International Joint Conference on Automated Reasoning (IJCAR 2006), Seattle, USA, volume 4130 of Lecture Notes in Computer Science, pages 498--512. Springer-Verlag, 2006.
[28]
C. Urban and M. Norrish. A formal treatment of the Barendregt Variable Convention in rule inductions. In 3rd ACM SIGPLAN Workshop on Mechanized Reasoning about Languages with Variable Binding (MERLIN '05), Tallinn, Estonia, pages 25--32. ACM Press, 2005.
[29]
C. Urban, A. M. Pitts, and M. J. Gabbay. Nominal unification. Theoretical Computer Science, 323:473--497, 2004.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 42, Issue 1
Proceedings of the 2007 POPL Conference
January 2007
379 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1190215
Issue’s Table of Contents
  • cover image ACM Conferences
    POPL '07: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2007
    400 pages
    ISBN:1595935754
    DOI:10.1145/1190216
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 January 2007
Published in SIGPLAN Volume 42, Issue 1

Check for updates

Author Tags

  1. abstract syntax
  2. alpha-conversion
  3. binders
  4. meta-programming

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media