larcenists / larceny

Larceny Scheme implementation
Other
202 stars 32 forks source link

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

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.

TaylanUB commented 9 years ago

Hm, the pull request wants to merge my commit that merges upstream/master into my master branch. That seems wrong; I will cancel, rebase my branch on upstream/master, force-push (was trying to avoid this...), then create a new pull request.