Daniel Herring <dherring@...> writes:
> ; in: DEFUN TEST-TUPLE-OPERATIONS
> ; (FSET::LENGTH FSET::TUPLE-KEYS)
> ; --> LET IF
> ; ==>
> ; 0
> ; caught WARNING:
> ; This is not a (OR (SINGLE-FLOAT (0.0)) (DOUBLE-FLOAT (0.0d0)) (INTEGER 1)):
> ; 0
> ; See also:
> ; The SBCL Manual, Node "Handling of Types"
This is partly an instance of bug #117 (see the BUGS file) and partly
telling you something vaguely useful: if (LENGTH TUPLE-KEYS) returns
0, then the call to RANDOM will be an error (because (RANDOM 0) is not
valid code). This shows up in this code, I think, because you have
shadowed LENGTH with something with an inline expansion.