Hygienic Macros for ACL2 [chapter]

Carl Eastlund, Matthias Felleisen
2011 Lecture Notes in Computer Science  
ACL2 is a theorem prover for a purely functional subset of Common Lisp. It inherits Common Lisp's unhygienic macros, which are used pervasively to eliminate repeated syntactic patterns. The lack of hygiene means that macros do not automatically protect their producers or consumers from accidental variable capture. This paper demonstrates how this lack of hygiene interferes with theorem proving. It then explains how to design and implement a hygienic macro system for ACL2. An evaluation of the
more » ... L2 code base shows the potential impact of this hygienic macro system on existing libraries and practices.
doi:10.1007/978-3-642-22941-1_6 fatcat:kj6f7vsiavgyzpff3xigzgy72i