On 19 Sep 2009, at 10:41 am, Ray Dillinger wrote:

> If we want to drop a feature that basic, then surely we should
> first deprecate it and move it to a library (R7) and second
> make the library optional (R8) so that its eventual absence
> does not come as a shock to users.

I think that's basically the long-term of what John's suggesting, by
removing it from the Thing One core; the only point of contention here
is whether it's an *optional* library or not...

> Scheme has always had as one of its strengths the fact that you
> can use it to express many different paradigms of programming,
> and I think that taking steps to *reduce* its value for one or
> more paradigms is a mistake.

The thing is, the sheer possibility of string-set! makes other string
operations consume more time/space resources, which reduces their
value. It's a choice between two costs which have different effects
for different situations.

I'd like to see:

1) Some implementations with immutable strings
2) Some implementations with mutable strings
3) Some implementations that give you both, where all string
operations that don't mutate work seamlessly on both, with explicit
make-mutable-string and make-immutable-string operations, and a
parameter that selects whether newly created strings are one or the
other (from read, *->string, etc).

ABS

--
Alaric Snell-Pym
Work: http://www.snell-systems.co.uk/
Play: http://www.snell-pym.org.uk/alaric/
Blog: http://www.snell-pym.org.uk/archives/author/alaric/




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

Reply via email to