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

Stas Boukarev <[email protected]> Wed, 11 Feb 2026 17:04:44 +0300
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <CAF63=11eOikYnyD_zn_m27-O-Hc9oKBL1umS3iGRZKT6gMh6Wg@mail.gmail.com>
It was  (or (mod 5) (integer #.(expt 2 65))) but then I tried to make
it fit into one line for the commit message and fumbled it.

On Wed, Feb 11, 2026 at 11:56 AM Christophe Rhodes via Sbcl-devel
<[email protected]> wrote:
>
> 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
>
>
> _______________________________________________
> Sbcl-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sbcl-devel


_______________________________________________
Sbcl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-devel