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
