On 07/19/2010 11:31 PM, Walter Bright wrote:
Steven Schveighoffer wrote:
On Mon, 19 Jul 2010 16:04:21 -0400, Walter Bright
<newshou...@digitalmars.com> wrote:
Strings in D are deliberately meant to be arrays, not special things.
Other languages make them special because they have insufficiently
powerful arrays.
Andrei is changing that. Already, isRandomAccessRange!(string) ==
false. I kind of don't like this direction, even though its clever.
That decision may be a mistake.
I think otherwise. In fact I confess I am extremely excited. The current
state of affairs described built-in strings very accurately: they are
formally bidirectional ranges, yet they offer random access for code
units that you can freely use if you so wish. It's modeling reality very
accurately.
As far as I know, all algorithms in std.algorithm that work well without
decoding are special-cased for strings to work fast and yield correct
results.
Andrei