[squeak-dev] Re: Streams. Status and where to go?
andreas.raab at gmx.de
Thu Feb 25 18:41:28 UTC 2010
Check out Xtreams. It's now released under MIT; so all it takes is
someone to port it. It looks quite interesting.
Igor Stasenko wrote:
> i am cross-posting, since i think it is good for all of us to agree on
> some common points.
> 1. Streams needs to be rewritten.
> 2. What do you think is good replacement for current Streams?
> personally, i currently need a fast and concise UTF8 reader.
> The UTF8TextConverter is closest thing what i would take, but i don't
> understand, why
> it implemented as a non-stream?
> The #nextFromStream:
> and #nextPut:toStream:
> crying out of loud to be just
> Another thing which makes me sad is this line:
> nextFromStream: aStream
> | character1 value1 character2 value2 unicode character3 value3
> character4 value4 |
> aStream isBinary ifTrue: [^ aStream basicNext]. <<<<<<<
> All external streams is initially binary , but UTF8TextConverter wants
> to play with characters, instead of octets..
> But hey... UTF8 encoding is exactly about encoding unicode characters
> into binary form..
> I'm not even mentioning that operating with bytes (smallints) is times
> more efficient than operating with characters (objects), because first
> thing it does:
> character1 := aStream basicNext. " a #basicNext, obviously, reads a
> byte from somewhere and then converts it to instance of Character.
> 'Bonus' overhead here. "
> character1 isNil ifTrue: [^ nil].
> value1 := character1 asciiValue. " and... what a surprise, we
> converting a character back to integer value.. What a waste! "
> value1 <= 127 ifTrue: [
> I really hope, that eventually we could have a good implementation,
> where horse runs ahead of cart, not cart ahead of horse :)
> Meanwhile i think i have no choice but make yet-another implementation
> of utf8 reader in my own package, instead of using existing one.
More information about the Squeak-dev