(ReadWriteStream on: 'abc') contents
==> 'abc' in GNU Smalltalk and Dolphin
==> '' in Squeak 6.0 and ST/X
Here I think we see why ANSI Smalltalk defined #with:
for {Read,}WriteStreams but not #on:.
When you recall that ReadWriteStream is a subclass of
WriteStream in most Smalltalks, and that
(WriteStream on: (String new: 20))
or whatever is normally used with the argument of #on:
expected to provide *workspace*, not *content*,��
why on earth would you expect
(ReadWriteStream on: 'abc') contents
to be different from
(WriteStream on: 'abc') contents
which is ''?