Peter Bex scripsit: > I think we should seriously consider supporting bignums in core. They > won't add much extra overhead in terms of optimizations; the scrutinizer > already needs to consider the possibility that a fixnum overflows into a > flonum. Overflowing into a bignum isn't much different. In fact, it's > slightly more precise because you know that they're always integral, > while you lose that information when switching to flonums. This at > least allows for some (admittedly trivial) optimizations you don't get > when using flonums, like knowing that integer? and exact? return true.
Well, there is is something to be said, in a fast compiler, for all arithmetic running in constant time. That's what Stalin provides, FWIW. On the other hand, the other systems that provide fixnum-flonum support only are slow interpreters: RScheme, VX, Inlab, and Sizzle. (There are also a bunch of interpreters with wrapping-fixnum and flonum support, namely Shoe, TinyScheme, BDC, XLisp, Schemik, SXM, and Elisp, but wrapping fixnums aren't conformant.) Gambit provides the full numeric tower, and Ghu knows it is fast. Overall I think the fixnum-bignum-flonum tower is pretty reasonable. Bigloo is a decently fast compiler that provides this, as do the interpreters Scheme 9 and Elk. -- John Cowan [email protected] http://ccil.org/~cowan If I have seen farther than others, it is because I was standing on the shoulders of giants. --Isaac Newton _______________________________________________ Chicken-hackers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-hackers
