PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Notions of computation and monads
Information and Computation
A calculus of mobile processes, II
Information and Computation
A functional theory of local names
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of logic in computer science (vol. 3)
The Definition of Standard ML
Meta-programming with names and necessity
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Scrap your boilerplate: a practical design pattern for generic programming
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new?
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
Nominal Logic: A First Order Theory of Names and Binding
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
A Spatial Logic for Concurrency (Part II)
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
A Metalanguage for Programming with Bound Names Modulo Renaming
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
A Fully-Abstract Model for the p-calculus
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
A Fully Abstract Domain Model for the p-Calculus
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Type-checking injective pure type systems
Journal of Functional Programming
Manipulating trees with hidden labels
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
Accomplishments and research challenges in meta-programming
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Theoretical Computer Science
Acute: high-level programming language design for distributed computation
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Scrap your nameplate: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Toward a general theory of names: binding and scope
Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
The Journal of Supercomputing
ACM SIGACT News
An initial algebra approach to term rewriting systems with variable binders
Higher-Order and Symbolic Computation
Type-safe distributed programming for OCaml
Proceedings of the 2006 workshop on ML
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On a monadic semantics for freshness
Theoretical Computer Science - Applied semantics: Selected topics
Program Transformation with Scoped Dynamic Rewrite Rules
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Abstract Syntax: Substitution and Binders
Electronic Notes in Theoretical Computer Science (ENTCS)
Electronic Notes in Theoretical Computer Science (ENTCS)
Structuring Operational Semantics: Simplification and Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
Information and Computation
A general mathematics of names
Information and Computation
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Acute: High-level programming language design for distributed computation
Journal of Functional Programming
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Free-algebra models for the π -calculus
Theoretical Computer Science
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming with proofs and explicit contexts
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
A polynomial nominal unification algorithm
Theoretical Computer Science
Nominal Matching and Alpha-Equivalence
WoLLIC '08 Proceedings of the 15th international workshop on Logic, Language, Information and Computation
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
Resolving Inductive Definitions with Binders in Higher-Order Typed Functional Programming
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Electronic Notes in Theoretical Computer Science (ENTCS)
A universe of binding and computation
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Relating state-based and process-based concurrency through linear logic (full-version)
Information and Computation
ν -Types for Effects and Freshness Analysis
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Fresh O'Caml: Nominal Abstract Syntax for the Masses
Electronic Notes in Theoretical Computer Science (ENTCS)
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
A formal calculus for informal equality with binding
WoLLIC'07 Proceedings of the 14th international conference on Logic, language, information and computation
Curry-style types for nominal terms
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Matching and alpha-equivalence check for nominal terms
Journal of Computer and System Sciences
A fresh look at programming with names and binders
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Mechanizing the metatheory of LF
ACM Transactions on Computational Logic (TOCL)
Freshness and name-restriction in sets of traces with names
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Principal types for nominal theories
FCT'11 Proceedings of the 18th international conference on Fundamentals of computation theory
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Stone duality for nominal Boolean algebras with И
CALCO'11 Proceedings of the 4th international conference on Algebra and coalgebra in computer science
Programming with binders and indexed data-types
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program generation and components
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Free-algebra models for the π-calculus
FOSSACS'05 Proceedings of the 8th international conference on Foundations of Software Science and Computation Structures
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Beluga: programming with dependent types, contextual data, and contexts
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Curry-Style explicit substitutions for the linear and affine lambda calculus
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
On nominal regular languages with binders
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
Program Transformation with Scoped Dynamic Rewrite Rules
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
A characterisation of languages on infinite alphabets with nominal regular expressions
TCS'12 Proceedings of the 7th IFIP TC 1/WG 202 international conference on Theoretical Computer Science
Compiling contextual objects: bringing higher-order abstract syntax to programmers
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
Full abstraction for nominal Scott domains
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generalised name abstraction for nominal sets
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Reasoning about higher-order relational specifications
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Verified programs with binders
Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification
Hi-index | 0.00 |
FreshML extends ML with elegant and practical constructs for declaring and manipulating syntactical data involving statically scoped binding operations. User-declared FreshML datatypes involving binders are concrete, in the sense that values of these types can be deconstructed by matching against patterns naming bound variables explicitly. This may have the computational effect of swapping bound names with freshly generated ones; previous work on FreshML used a complicated static type system inferring information about the 'freshness' of names for expressions in order to tame this effect. The main contribution of this paper is to show (perhaps surprisingly) that a standard type system without freshness inference, coupled with a conventional treatment of fresh name generation, suffices for FreshML's crucial correctness property that values of datatypes involving binders are operationally equivalent if and only if they represent a-equivalent pieces of object-level syntax. This is established via a novel denotational semantics. FreshML without static freshness inference is no more impure than ML and experience with it shows that it supports a programming style pleasingly close to informal practice when it comes to dealing with object-level syntax modulo a-equivalence.