Program differencing is a common means of software debugging. Although many differencing algorithms have been proposed for procedural and object-oriented languages like C and Ja...
Many classical compiler optimizations can be elegantly expressed using rewrite rules of form: I = I if , where I, I are intermediate language instructions and is a property expre...
David Lacey, Neil D. Jones, Eric Van Wyk, Carl Chr...
It is possible to extend the basic notion of "function call" to allow functions to have multiple return points. This turns out to be a surprisingly useful mechanism. Thi...
We have implemented parallelism primitives that permit an ACL2 programmer to parallelize execution of ACL2 functions. We (1) introduce logical definitions for these primitives, (...
We present an application of functional programming in the domain of sound generation and processing. We use the lazy language Clean to define purely functional stream generators,...