Opened 14 years ago
Closed 14 years ago
#125 closed defect (fixed)
Qi loading issues
Reported by: | ehuelsmann | Owned by: | nobody |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | libraries | Version: | 0.24 |
Keywords: | Cc: | ||
Parent Tickets: |
Description
Greg Baryza writes:
I recently became interested in the language QI. Since it did not run on ABCL (it does on SBCL, Allegro, LispWorks and others), I decided to see what it would take to move it there. From the QI mailing list, I found several others had tried on earlier versions of ABCL with inconclusive results. I decided to give it a try on 0.23.1. When I tried the standard script with compiles and then loads the compiled files, ABCL hangs it what appears to be an infinite loop try to load one of the compiled files. When I switch to just loading them in as Lisp sources, things seem to work (though some of the QI tests later fail). I tried the compile/load script under 0.24.0 today and the same hang happens.
Attachments (1)
Change History (3)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
The issue seems to be that Qi sets READTABLE-CASE to :PRESERVE. Then it goes on to define macros which map the lower case versions of some functions to their upper-case (CL) variants.
This leads to an infinite loop of macro-expansions, because the FASL reader is UPPERcasing, meaning it just overwrote the upper case symbols with the macroexpander functions intended for the lower-case symbol.