Denis Kudriashov wrote:
Smalltalk is wonderfull language. We can implement any ideas without making changes in language (as Java or C# live). I think pipes is very usefull in DSL implementation and usage, simpler and fast object inspecting. But long message chaines in domain code are bad smell
There haven't been all that many syntax changes to Smalltalk since its public release as ST80. Off the top of my head, I can list the following:
Assignment operator changed from back-arrow (underscore) to ":=".
Symbol syntax was enhanced so that any String literal can be interpreted as a Symbol literal (by prepending # in front of the String literal.)
The $_ (underscore) character was added as a valid character in identifiers.
Syntax for scaled decimal literals was added.
Method syntax was changed so that the final statement in a method could optionally be terminated by a "." (originally, the final statement could not end with a ".")
I think there might have been some change to the syntax of non-decimal integer literals, but can't recall the details.
I also seem to recall that there was originally no syntax for ByteArray literals, and that it was added later. Could be wrong about that, though.
And many dialects have added other syntax, but those additions have not been widely adopted as either de facto or de jure additions to Smalltalk syntax.
Can anyone add to the list? Or can anyone provide an authoritative confirmation or denial of the two items about which I was unsure?