Cannot set SB-EXT:*EVALUATOR-MODE* to :INTERPRET when using the sb-fasteval interpreter
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Invalid
|
Undecided
|
Unassigned |
Bug Description
After compiling SBCL with
sh make.sh --dynamic-
I tried to set SB-EXT:
* SB-EXT:
:COMPILE
* (setf SB-EXT:
; in: SETF *EVALUATOR-MODE*
; (SETF *EVALUATOR-MODE* :INTERPRET)
; --> SETQ
; ==>
; (THE (MEMBER :COMPILE) :INTERPRET)
;
; caught WARNING:
; Constant :INTERPRET conflicts with its asserted type (MEMBER :COMPILE).
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition
debugger invoked on a SIMPLE-TYPE-ERROR in thread
#<THREAD "main thread" RUNNING {10008A0083}>:
Value of :INTERPRET in
(THE (MEMBER :COMPILE) :INTERPRET)
is
:INTERPRET,
not a
(MEMBER :COMPILE).
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [ABORT] Exit debugger, returning to top level.
(SB-C::
0]
But src/interpreter
" As with sb-eval, the SB-EXT:
set to :INTERPRET or :COMPILE."
I'm not sure what went wrong, but the generated SBCL code doesn't seem to behave
according to what is documented (it requires (member :compile) when using the fast
evaluator?)
J.
That's because it's spelled sb-fasteval.