<html><head></head><body><div class="ydp6897966fyahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div dir="ltr" data-setdir="false">CCL (1.11) has most-positive-fixnum of <span>1152921504606846975</span></div><div dir="ltr" data-setdir="false"><span>SBCL (1.5.6) has <span>4611686018427387903</span></span><br></div><div><br></div><div dir="ltr" data-setdir="false">However:</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><div>CL-USER> (subtypep 'fixnum 'integer)<br>T<br>T<br>CL-USER> <br></div><div><br></div></div><div dir="ltr" data-setdir="false">so FIXNUM is a subtype of INTEGER, and it should be the type returned if the implementation is following the CltL2 guidelines if I'm understanding the type system correctly.<br></div>
        
        </div><div id="yahoo_quoted_2187623034" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Thursday, October 24, 2019, 2:45:24 PM GMT+8, Daniel Kochmański <daniel@turtleware.eu> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr">Hey Steven,<br clear="none"><br clear="none">What is the most-positive-fixnum on your implementation? I would suspect<br clear="none">that it is 1152921504606846975, so (INTEGER 0 1152921504606846975) is a<br clear="none">subtype of FIXNUM, hence it is more specific type.<br clear="none"><br clear="none">Best regards,<br clear="none">Daniel<br clear="none"><div class="yqt6661194963" id="yqtfd52591"><br clear="none">Steven Nunez writes:<br clear="none"><br clear="none">> I've been stumped by trying to understand why:<br clear="none">> ? (type-of -3)<br clear="none">> FIXNUM<br clear="none">> ? (type-of 3)<br clear="none">> (INTEGER 0 1152921504606846975)<br clear="none">> ?<br clear="none">> return different types. I know that type-of is somewhat ill-defined, but in my reading of the spec, '3' should also be a fixnum, since it is between most-negative-fixnum and most-positive-fixnum. CLtL2 suggests that implementors return the most specific type, and that would also be fixnum. Steele later points out some flaws in the current specification of type-of. Both CCL and SBCL exhibit this behaviour.<br clear="none">> Two questions for the smart ones out there:<br clear="none">>    <br clear="none">>    - Is there something in the spec that I missed that makes type-of behave this way?<br clear="none">>    - Is there a way to do a type checking assertion for fixnums that works with both positive and negative integers? I am trying to optimize some numerical functions.   </div><br clear="none">><br clear="none">><br clear="none">> _______________________________________________<br clear="none">> Openmcl-devel mailing list<br clear="none">> <a shape="rect" ymailto="mailto:Openmcl-devel@clozure.com" href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br clear="none">> <a shape="rect" href="https://lists.clozure.com/mailman/listinfo/openmcl-devel" target="_blank">https://lists.clozure.com/mailman/listinfo/openmcl-devel</a><br clear="none"><br clear="none"><br clear="none">-- <br clear="none">Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland<br clear="none">TurtleWare - Daniel Kochmański      | www.turtleware.eu<br clear="none"><br clear="none">"Be the change that you wish to see in the world." - Mahatma Gandhi</div></div>
            </div>
        </div></body></html>