Brian Mastenbrook scripsit: > Which might be several, or none at all. In my opinion, the fixnum/bignum > split is obsolete and should never be exposed to the user. Deliberate > points of underspecification are necessary for standards, but they should > not be elevated into features.
I basically agree, but I still think it's important to differentiate between Schemes that set a tight limit on the size of exact integers and those that do not. That is the rationale of the %bignums feature group (remember, the % is metalanguage). R5RS already has this distinction but doesn't formalize it. I also think it is important for the standard to prescribe a minimum size for the largest exact integer on Schemes that have one. R5RS is silent; R6RS requires 24 bits, a compromise (as I am told) between CL's 16 bits and the 26 or more bits provided by extant implementations. > If program authors wish to perform arithmetic on small integers with a > guarantee of performance, they should write their program expressively > with the semantics they desire and use an implementation that will > guarantee optimization of their program. If this is not possible in > portable Scheme, then we really should be looking for the features > that will enable this style of development. Note that the above distinction is one of semantics, not of performance. There is no guarantee that a Scheme with %bignums has fixnums; it might have nothing *but* bignums in the implementation sense. What counts is whether an arithmetic operation on exact integers might produce an inexact value. -- John Cowan [email protected] http://ccil.org/~cowan The penguin geeks is happy / As under the waves they lark The closed-source geeks ain't happy / They sad cause they in the dark But geeks in the dark is lucky / They in for a worser treat One day when the Borg go belly-up / Guess who wind up on the street. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
