[gambit-list] srfi-13/14

Bradley Lucier lucier at math.purdue.edu
Tue May 10 00:47:12 EDT 2005


On May 7, 2005, at 3:50 PM, ben at fuhok.net wrote:

> Anyway, attached is a patch against the version of char-set-lib.scm in
> the web directory you set up.

Char-set-invert[!] and predicate->char-set[!] were removed from the 
srfi during the discussion phase (at my suggestion ;-), but I hadn't 
yet renamed/re-implementd that new procedures.  Fixed, thanks.

About cursors: I added a couple of checks to the cursor routines.

I noticed that you followed the suggested implementation and had 
cursors go down from 255 to 0, the same as the implementation for 
char-set-filter[!]. Yet the documentation talks about "No lazy 
implementations of char-set-filter because of side effects" etc.  Well, 
if we think side effects are important, should we either ensure that 
cursors go from 0 up rather than from 255 down?  And the same for 
char-set-filter[!]? Or at least document that these things go down 
rather than up?

Please check my changes.

> One thing I noticed that kind of sucked was that my laptop, which has
> 512 megs, can't compile "srfis.scm" in safe mode without running out
> of memory.  It's not clear to me why (declare (safe)) causes Gambit to
> suck up more memory, but apparently it does.

The .i file for srfis.scm is 1.9MB when (declare (safe)), that's pretty 
big.  I think our ultimate goal should be to add enough explicit checks 
that the libraries can be compiled with all unsafe optimizations on.

In your gambit.h file define ___OPTIMIZE_SPACE just before the tests 
for ___OPTIMIZE_SPACE and ___OPTIMIZE_TIME.  That should help a lot.

> How about deleting the trailing whitespace from those files when you
> get the chance?

Done.

Brad




More information about the Gambit-list mailing list