Date of this Version
This paper compares three models for formal reasoning about programming languages with binding. Higher order abstract syntax (HOAS) uses meta-level binding to represent object-level binding [PE88]. Nominal Logic couples a concrete representation of bound variables with a formal apparatus for safely manipulating bound variables [Pit03]. The locally named binding representation places bound and free variables in different syntactic sorts [MP99]. This paper surveys each binding model, and compares it to the others and to Gordon and Melham’s axiomatization of the untyped lambda calculus [GM97]. Comparisons are made based on expressive power, transparency to human readers, and suitability for mechanized reasoning of each binding model. Each system excels in one area; HOAS is most expressive, Nominal Logic most transparent, and locally named most mechanizable.
Date Posted: 08 February 2007