SRFI-32 is a
withdrawn SRFI for the API of a full-featured sort toolkit. The
SRFI was written by Olin Shivers; I have made a few small
modifications to wrap the whole thing up as a Bigloo library.
Olin requested that the code not be used yet for this sort of thing:
I *do not* recommend taking this code and using it. Wait a few weeks,
until the SRFI is finalized; let's avoid having random preliminary copies
of the code propagating around the net.
Unfortunately, that was in 2003.
My apologies to Olin, but I needed some sorting functions for a
project I was working on, and it seemed crazy not to take this library
for what I needed. As long as I was porting the library to Bigloo for
my own use, it seemed crazy not to pass it along to the larger
community. So, here it is.
If you live on a Mac OS X system, the library should build out of the
box by unpacking the tarball and issuing the command make.
You will then find the library files in the
If you don't live on an OS X system, my sympathies. You will have to
Makefile to change some settings:
LD variable to something appropriate for making a
shared library on your system. (I've heard that ld -r works
OK on Linux, for example.)
Change the suffixes associated with the
_lib.so target from
so, or whatever works for your system.
(You will have to change four suffixes.)
You might want to check out the compilation flags for Bigloo (
BFLAGS and company) and for GCC (
CFLAGS and company);
these are set the way I personally like them, not the way the default
bmake command sets them.
For information on the exported interface, see either the SRFI document or the file
srfi-32.txt in the source distribution.
Olin offered the code under the following license:
Copyright (c) 1998 by Olin Shivers.
You may do as you please with this code, as long as you do not delete this
notice or hold me responsible for any outcome related to its use.
I doubt that my modifications require a license, but in the event that
they do, I offer them under the same license.
Found a bug in
vmsort.scm relating to the
command arguments in
%vector-merge!; reported to the srfi-32