Re: [Sbcl-commits] master: (typep (or (mod 5) (unsigned-byte 65)) '(unsigned-byte 64)) => fixnump

Christophe Rhodes via Sbcl-devel <[email protected]> Wed, 11 Feb 2026 08:53:53 +0000
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <[email protected]>
stassats via Sbcl-commits <[email protected]> writes:

> +                       ;; (typep (the (or (mod 5) (unsigned-byte 65)) x) '(unsigned-byte 64))
> +                       ;; => (fixnump x)

Is this shorthand for something?  The only way I can make sense of it is
if the known type is something more like

  (or (mod 5) (and (unsigned-byte 65) (not (unsigned-byte 64))))

otherwise the known type just reduces to (unsigned-byte 65) -- is that
what is meant?  (If so maybe the comment is clearer with

  (or (mod 5) (integer #.(expt 2 64)))

?  If not, then a better comment is more necessary)

Christophe