Well, I'm glad to say, and I'm sure all the Minimalists will be glad
to hear, that I have removed 13 identifiers from my R5RS extensions
proposal at http://tinyurl.com/thing-one .  In particular, everything
related to blobs.

What made me want to put blobs in the core was their specialized lexical
and I/O syntax and the fact that they represent something that couldn't be
simulated with existing Scheme data types -- I thought.  But of course
a SRFI can have more than one implementation, a slow/large portable
implementation, and a fast/small one specific to each implementation.

This can be done by implementing blobs portably as a thin wrapper
over plain Scheme vectors that contain small exact integers.
An implementation-specific interface, of course, would use a byte array
and implement the accessors and mutators as inlined single instructions.

So that's what I'm going to do: write a SRFI extending SRFI 74 (not quite
compatibly) that will do anything you might want to do with a blob; in
particular, the ability to treat it as one of a variety of homogeneous
numeric arrays.  With a new and highly portable, but inefficient,
implementation depending only on the SRFIs I'm proposing to add.

So while blobs are dead in the core, they will rise again in a glorious
resurrection body as SRFI 1xx.

(Note: At the same time I have added cond-expand from SRFI 0, and
removed the R6RS integer division operators while I think about Taylor
Campbell's discussion at http://mumble.net/~campbell/tmp/division.txt .
That makes for a current total of only 39 non-R5RS identifiers.)

-- 
John Cowan    [email protected]    http://ccil.org/~cowan
        Sound change operates regularly to produce irregularities;
        analogy operates irregularly to produce regularities.
                --E.H. Sturtevant, ca. 1945, probably at Yale

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to