I\'m new to smalltalk and I\'m impressed with the fact that there are only just 6 keywords in the language (self, super, true, false, nil & thisContext), and how pure it is
As you've discovered, there's still some actual Smalltalk syntax. Block construction, literal strings/symbols/comments, local variable declaration (|...|
), and returning (^
) are a few things you didn't mention which are also syntax.
Some extensions (e.g. #(...)
, which typically creates an Array
, not a set) are certainly expressible otherwise, for example #(1 2 3)
is equivalent to Array with: 1 with: 2 with: 3
; they're just there to make the code easier to read and write.