Polymorphic Types in ACL2

Benjamin Selfridge
(University of Texas at Austin)
Eric Smith
(Kestrel Institute)

This paper describes a tool suite for the ACL2 programming language which incorporates certain ideas from the Hindley-Milner paradigm of functional programming (as exemplified in popular languages like ML and Haskell), including a "typed" style of programming with the ability to define polymorphic types. These ideas are introduced via macros into the language of ACL2, taking advantage of ACL2's guard-checking mechanism to perform type checking on both function definitions and theorems. Finally, we discuss how these macros were used to implement features of Specware, a software specification and implementation system.

In Freek Verbeek and Julien Schmaltz: Proceedings Twelfth International Workshop on the ACL2 Theorem Prover and its Applications (ACL2 2014), Vienna, Austria, 12-13th July 2014, Electronic Proceedings in Theoretical Computer Science 152, pp. 49–59.
Published: 4th June 2014.

ArXived at: http://dx.doi.org/10.4204/EPTCS.152.4 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org