2018-05-01 14:36:39 |
Paul F. Dietz |
description |
(compile nil '(lambda (x) (member x '(a . b))))
==>
The value
B
is not of type
LIST
[Condition of type TYPE-ERROR]
Restarts:
0: [ABORT] Exit debugger, returning to top level.
Backtrace:
0: ((FLET SB-IMPL::FAST-NTHCDR :IN NTHCDR) 128 (A . B))
1: (SB-C::TRANSFORM-LIST-ITEM-SEEK MEMBER #<SB-C::LVAR 1 {100D203A53}> #<SB-C::LVAR 2 {100D203B93}> NIL NIL NIL #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME MEMBER :TYPE #..
2: ((SB-C:DEFTRANSFORM MEMBER) #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME MEMBER :TYPE #1=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-F.. |
(compile nil '(lambda (x) (member x '(a . b))))
==>
The value
B
is not of type
LIST
[Condition of type TYPE-ERROR]
Restarts:
0: [ABORT] Exit debugger, returning to top level.
Backtrace:
0: ((FLET SB-IMPL::FAST-NTHCDR :IN NTHCDR) 128 (A . B))
1: (SB-C::TRANSFORM-LIST-ITEM-SEEK MEMBER #<SB-C::LVAR 1 {100D203A53}> #<SB-C::LVAR 2 {100D203B93}> NIL NIL NIL #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME MEMBER :TYPE #..
2: ((SB-C:DEFTRANSFORM MEMBER) #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME MEMBER :TYPE #1=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-F..
Errors like this can occur even in lisp code that is perfectly valid, since the call can be in a branch that is dynamically dead (if the compiler cannot figure this out).
* (compile nil '(lambda (x) (let ((y '(a . b))) (unless (improper-list-p y) (member x y))))) ==> same error |
|