Authors
James Cheney, Christian Urban
Publication date
2004/9/6
Book
International Conference on Logic Programming
Pages
269-283
Publisher
Springer Berlin Heidelberg
Description
There are two well-known approaches to programming with names, binding, and equivalence up to consistent renaming: representing names and bindings as concrete identifiers in a first-order language (such as Prolog), or encoding names and bindings as variables and abstractions in a higher-order language (such as λProlog). However, both approaches have drawbacks: the former often involves stateful name-generation and requires manual definitions for α-equivalence and capture-avoiding substitution, and the latter is semantically very complicated, so reasoning about programs written using either approach can be very difficult. Gabbay and Pitts have developed a new approach to encoding abstract syntax with binding based on primitive operations of name-swapping and freshness. This paper presents αProlog, a logic programming language that uses this approach, along with several illustrative …
Total citations
2004200520062007200820092010201120122013201420152016201720182019202020212022202320244859671189633556925332
Scholar articles