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 in having almost everything as message passing, eg. looping using whileTrue
, if/else using ifTrue
, etc ... which are way different from what I'm used to in other languages.
Yet, there are cases where I just cannot make sense of how message passing really fit in, these include:
- the assignment operator
:=
- the cascading operator
;
- the period operator
.
- the way to create a set
#( ... )
These aren't message passing, right?
:=
looks like one, eg.x := 1 + 2
may just mean that send the colon equals message tox
, such that it takes the value of1+2
, but then, the precedence rule doesn't fit in. – Electrostatics