[plt-scheme] small question about mzscheme's source  From:
Matthew Flatt (mflatt at cs.utah.edu) Date: Mon May 3 22:27:45
EDT 2004  At Tue, 4 May 2004 03:14:40 +0200, "ifconfig" wrote: >
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?  of 2^31.  > 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  Uses of ESCAPED_BEFORE_HERE
help the compiler. This macro is used after calls to
scheme_wrong_type() or other functions that never return
(because they longjmp). The compiler can't know that those
function never return, so the "return NULL" force