2011
DOI: 10.1145/2034574.2034818
|View full text |Cite
|
Sign up to set email alerts
|

Binders unbound

Abstract: Implementors of compilers, program refactorers, theorem provers, proof checkers, and other systems that manipulate syntax know that dealing with name binding is difficult to do well. Operations such as α-equivalence and capture-avoiding substitution seem simple, yet subtle bugs often go undetected. Furthermore, their implementations are tedious, requiring "boilerplate" code that must be updated whenever the object language definition changes. Many researchers have therefore sought to specify binding … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0

Year Published

2012
2012
2019
2019

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 14 publications
(14 citation statements)
references
References 24 publications
0
14
0
Order By: Relevance
“…Lazy SmallCheck can also generate and evaluate partially-defined inputs, by using a form of needed narrowing. In conjunction with an implementation of nominal abstract syntax (such as FreshLib (Cheney 2005b) or Binders Unbound (Weirich et al 2011)), Quick/SmallCheck could be used to implement metatheory model-checking, although this would build several levels of indirectness that may make counter-example search rather problematic. Compared to us, QuickCheck is a widely used library for general purpose programming, while we have so far put little effort into making our counter-example search more efficient.…”
Section: Testing Model Checking and Mechanized Metatheorymentioning
confidence: 99%
“…Lazy SmallCheck can also generate and evaluate partially-defined inputs, by using a form of needed narrowing. In conjunction with an implementation of nominal abstract syntax (such as FreshLib (Cheney 2005b) or Binders Unbound (Weirich et al 2011)), Quick/SmallCheck could be used to implement metatheory model-checking, although this would build several levels of indirectness that may make counter-example search rather problematic. Compared to us, QuickCheck is a widely used library for general purpose programming, while we have so far put little effort into making our counter-example search more efficient.…”
Section: Testing Model Checking and Mechanized Metatheorymentioning
confidence: 99%
“…One very interesting idea is to use datatype-generic programming to handle variable binding [9,28]. Variable binding is an ubiquitous aspect of programming languages.…”
Section: Related and Future Workmentioning
confidence: 99%
“…There has been a good deal of work in this area, with Unbound (Weirich et al 2011b), a Haskell-hosted DSL for specifying binding structure, being a recent solution. HERMIT uses congruence combinators for this task, which are a general mechanism for encapsulating the maintenance of any sort of contextual information, of which bindings are just one example.…”
Section: Related Workmentioning
confidence: 99%