[plt-scheme] small question about mzscheme's source
This is probably a dumb question but I'll ask it anyway.
I was just taking a brief look in mzscheme's src, and I noticed in
scheme_bitwise_shift (in /plt/src/mzschme/src/number.c) that you shift using
bignum calculations if shift is more than MAX_SHIFT_TRY or less than
-MAX_SHIFT_EVER. Under 32 bits, MAX_SHIFT_EVER is defined as 32, which makes
sense. But why is MAX_SHIT_TRY 29? You could shift 30 bits, and ever 31
without bignum calculations, couldn't you?
By the way, this is not critique about the code, this is just me trying to
learn :)
Also, in /plt/src/mzscheme/src/schpriv.h, how do the following two lines
help the compiler?
/* Compiler helper: */
#define ESCAPED_BEFORE_HERE return NULL
And last but not least, are the basics of the compiler put in a specific
file? I'm trying to learn how to make a simple scheme->asm compiler for only
basic data types, etc.
Thanks,
Yours truly,
ifconfig
BAGOS
http://bagos.sourceforge.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20040504/dd9b8ff6/attachment.html>