On Feb 14, 2007, at 4:36 PM, Bert Freudenberg wrote:
It is normal.
This is normal for you because you know how the compiler works. But
do you think the compiler works normally? Is it normal that a
compiler considers two equal strings as identical? I would agree with
symbols because symbols are immutable. I think this is a first bug, a
bug in the compiler.
In my opinion, there is another bug. When the collection of a stream
becomes full, its is replaced by another bigger collection. So,
first, the stream uses the collection you passed to the constructor,
then, at a given time, this collection is replaced by a new one. I
don't think it's a normal behavior.
Whatever the stream does with the collection, it is encapsulated. Imagine the stream always uses a highly optimized species for its internal job (or a file on your harddisk!). You should not depend any code on the internals of (in this case) stream.