larcenists / larceny

Larceny Scheme implementation
Other
202 stars 32 forks source link

Implemented (r6rs arithmetic fixnums) for R7RS systems. #735

Closed TaylanUB closed 9 years ago

TaylanUB commented 9 years ago

Some procedures allocate a vector (or two) of length (fixnum-width), by calling the utility procedure fixnum->bitvector. This might be possible to avoid, but I don't know of a way without significantly complicating the code.

Other than that, care is taken to avoid allocation, for example in variable-arity procedures, by supporting up to a number of fixed arities (generally 5) and resorting to allocating a rest-argument list only if there are more arguments.