Allegro Common Lisp as a host for ACL2
Allegro Common Lisp (Allegro CL) is one of the Common Lisp implementations upon which an ACL2 executable can be built (see obtaining-common-lisp). But here, we discuss a concern.
Although testing is ongoing for ACL2 built upon Allegro CL, the version
used has been Allegro CL 10.1 since 2017. What's more, in September 2025, for
an ACL2 executable built with host Lisp Allegro CL, the use of “
Here are details regarding the four certification failures under
The following error from the corresponding
HARD ACL2 ERROR in ACL2::RECORD-ERROR: An attempt was made to treat (49683 :TYPE-PRESCRIPTION BLOCK-ITEM-TYPES) as a record of type ACL2::CLAUSE-PROCESSOR-HINT.
There were other errors like that one as well.
So for that same ACL2 version (ACL2 git hash fe29908c4589c1de3b41d6c98cc8bec012c7eba3), the same book and the books that (recursively) support it were certified using a safety-3 ACL2 executable built on CCL. The book certified without any “HARD ACL2 ERROR”. This suggests that the problem is likely restricted to runs using Allegro CL.
However, that book allows some trust tags (in file
These two report errors (in their
A second certification was tried on the second of these (picked arbitrarily) in case this was just a weird glitch. However, a similar error occurred (though with a slightly different backtrace).
This one shows a backtrace that includes the following form.
(RATIONALP 8444461749428370424248824938781546531375899335154063827935233455916872368129)
That shouldn't cause an error, but apparently it did. Maybe the image was already corrupted. Submitting that form in a fresh session produced no error.
As with the first example, a safety-3 CCL-based certification (of this book and all supporting books, recursively) produced no errors. But unlike the first example, this book does not allow trust tags. This example thus provides strong evidence that Allegro CL is not a great choice for hosting ACL2.