[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] fresh empty strings

Per Bothner scripsit:

> In other words: mutable fixed-length strings are effectively useless,
> but we have to have mutable strings.  

I am far from convinced of that.  I think the arguments for providing
mutable strings only (simplicity, thread safety, sharability, memory
efficiency, no ownership issues, no copying) are quite convincing,
and I favored that position, but I couldn't get enough support in
WG1 to remove them from the language, since they are an IEEE feature.
(Just putting them in a separate module, especially a mandatory module
as is done in R6RS, doesn't really help implementers or users.)

> That just requires adding a few functions like string-replace-substring
> to make mutable strings into something actually usable.  The normal
> implementation could be a simple buffer-gap.

I'd be happy to have a buffer-gap package in R7RS-large.  I've added
it to the RevoteDocket (somewhat paradoxically named; it is really the
"input hopper" for new ideas).

> Is there an prior art for doing anything like that?

Emacs buffers is the obvious prior art.

John Cowan      http://www.ccil.org/~cowan      cowan@x
Be yourself.  Especially do not feign a working knowledge of RDF where
no such knowledge exists.  Neither be cynical about RELAX NG; for in
the face of all aridity and disenchantment in the world of markup,
James Clark is as perennial as the grass.  --DeXiderata, Sean McGrath

Scheme-reports mailing list