Thank you, Holger. I understand the pragmatics of the decision. One could argue that, in the current bug case, the `(self new) stream: aStream ; initialize` statement is a bit "off-pattern". :) I think it's a little unfortunate that Pharo deviated from Smalltalk-80 in a small, but fundamental way. I think it means that if I want to write more portable Smalltalk code, I might avoid using "initialize" since its behavior will be different in Pharo (and now GNU) versus other implementations. Such avoidance would be necessary in cases where one wants instance initialization to be deferred after instance creation.
Kind regards Mark On Mon, Aug 31, 2015 at 7:13 AM, Holger Freyther <hol...@freyther.de> wrote: > > > On 31 Aug 2015, at 12:28, Mark Bratcher <mdbra...@gmail.com> wrote: > > > > Hi Holger > > Hi, > > > Thanks again for being so responsive. > > > > After doing some admittedly light research on the `new` method versus > `initialize`, it looks like Pharo (and probably, therefore, Squeak) is the > only variant of Smalltalk that automatically calls an instance initializer > (`initialize`) on `new`. If GNU Smalltalk is following this to be easier to > port from Pharo, that raises a philosophical question for GNU Smalltalk: is > intended for it to align as much as possible with the Pharo implementation > (and then perhaps, ultimately, become a "Pharo variant"), or to attempt to > remain more "pure" (whatever that might mean :)) relative to Smalltalk-80? > I noticed in various texts discussion Smalltalk class instance creation, > specifically show a pattern something like: > > > it is a pragmatic decision. The GNU Smalltalk community is not very large > and > there are not many projects that get created for GNU Smalltalk (e.g. Iliad > was a > notable exception). With gst-convert we have a tool to convert from other > dialects > but in recent times I think I/we only ported from Pharo. > > I don’t think there is intention to be “Pharo compatible”. E.g. > String/Symbol will > not be considered equal. There is no plans to introduce a ProtoObject and > maybe > not even the “MetaLink”.. at least not to kernel/ > > At the same time I started to use the >>#new/#initialize pattern as well > so it fellt > like a natural progress. > > kind regards > holger > > > > > > > _______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk