This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home. For a version of this page that may be more recent, see FixnumInfo in WG2's repo for R7RS-large.


2013-05-24 13:02:31

Fixnum ranges for 32-bit Schemes

This is the range of fixnums in bits for the 32-bit builds of 39 Schemes. For this purpose, an exact integer n is a fixnum if n satisfies the implementation's fixnum? procedure (marked by an asterisk) or if there is no such procedure, then if (eq? n n) returns #t.

31 bits

Racket*, Chicken*, Ypsilon*, Elk

30 bits

Gambit* , Scheme48/scsh, Guile, Chibi, Chez*, SCM, Ikarus*/Vicare*, Larceny*, Ypsilon*, Mosh*, IronScheme* (but see below), STklos*, RScheme*, Oaklisp*

29 bits

Gauche*, Bigloo*, SigScheme

26 bits


16 bits

Owl Lisp*

9 bits


No fixnums (even (eq? 0 0) is #f)

SISC, KSi, TinyScheme, Scheme 9, Dream, BDC, UMB

Apparently unbounded fixnums

Shoe, Schemik, VX

Answer not easily determined

NexJ, XLisp, rep

In Kawa and IronScheme all exact integers are boxed, but a short range is preallocated, so that eq? is satisfied: -100 to 1024 for Kawa, -100 to 999 for IronScheme.

Fixnum ranges for 64-bit Schemes

63 bits


58 bits