Abstract
We extend the definition of natural semantics to include simply typed 2-terms, instead of first-order terms, for representing programs, and to include inference rules for the introduction and discharge of hypotheses and eigenvariables. This extension, which we call extended natural semantics, affords a higher-level notion of abstract syntax for representing programs and suitable mechanisms for manipulating this syntax. We present several examples of semantic specifications for a simple functional programming language and demonstrate how we achieve simple and elegant manipulations of bound variables in functional programs. All the examples have been implemented and tested in λProlog, a higher-order logic programming language that supports all of the features of extended natural semantics.
Original language | English (US) |
---|---|
Pages (from-to) | 123-152 |
Number of pages | 30 |
Journal | Journal of Functional Programming |
Volume | 3 |
Issue number | 2 |
DOIs | |
State | Published - Apr 1993 |
All Science Journal Classification (ASJC) codes
- Software