Abstract

Natural semantics, a form of operational semantics, provides a high-level and elegant means of specifying interpreters for programming languages. In this paper we investigate the use of the logic programming language Elf to implement and reason about natural semantics. We illustrate our techniques by giving type checking rules and operational semantics for Mini-ML, a small functional language based on a simply typed λ-calculus with polymorphism, products, conditionals, and recursive function definitions. We also partially internalize proofs for some meta-theoretic properties of Mini-ML, the most difficult of which is subject reduction.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call