[plt-scheme] small question about mzscheme's source

From: ifconfig (nslookupifconfig at hotmail.com)
Date: Mon May 3 21:14:40 EDT 2004

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>

Posted on the users mailing list.