Stephane Ducasse wrote:
feedback is welcome
Good reading
2.4
"is to explicit type check"
- "is to explicitly type check", or
- "is to do explicit type check"
s/we will haveother/we will have other/
s/distabilizing/destabilizing/
"In fact we just to tell the receiver ,,,"
something's missing or is extra here
s/a die or an handle/a die or a handle/
Figure 2.1
I find the diagram strange on the first look. The solid arrow pointing
to the notes is the cause. I am used to see notes connected with dashed
line without a tip, an in UML.
2.6
Addition is commutative, so it should not bother form implementation
PoV, but it seems strange to see:
The previous method is definitively what we want to do when we have two
dice. So let us rename it as so that we can
invoke it later.
(eh? why pillar makes non copy-paste friendly pdfs?!)
back to the point, to see renaming + to sumWithDie: and keep the order,
and later do the magic and say "We just tell the argument (which can be
a die or a die handle) that we want to add to it an die.". Mind is
twisted when trying to grasp it as things are flipped.
Much better would be to say "So let us rename it as
so that we can invoke it later but let us switch
the roles while doing it" and make the DD method with roles switched
(self added second).
Then the "We just tell the argument (...) that we want to add to it an
die." clicks much better (I would use "add itself to a die" in the end).
s/Easy, no./Easy, isn't it?/
"It is easy, isn’t?" - remove, too much of the same near each other
s/we simply creates a new die handle/we simply create a new die handle/
s/add all the die of the previous/add all the dice of the previous/
DieHandle >> sumWithDie: - also do reverse order and change the
description to be on par
2.7
s/the receiver is a die handle/the receiver of + is a die handle/
With DD, things go there and back, better be explicit.
s/to add a die handle this time/to add itself to a die handle this time/
"We know what is to add two die handles"
something is missing or extra here
We rename ... as ... => We rename ... as ... while switching roles.
and reflect it in code
"Remember that sending back a new message to the argument is the key
aspect. Why? Because we kick in a new message lookup and dispatch."
Not sure if this helps or confuses. Probably find better form.
s/final behavior just have to/final behavior we just have to/
s/withWithHandle:/sumWithHandle:/
Note: Die >> sumWithHandle: is in correct order, need no switching.
2.8
maybe s/trivial to understand deeply/trivial to deeply understand/
maybe s/it requires time to digest it/it requires time to digest/
maybe s/method based on the argument too/method based on the argument/
s/we step badk/we step back/
s/applied twice the Don’t ask, tell principle/applied the Don’t ask,
tell principle twice/
s/First the message plus selects/First the message selects/
s/selecting the correct method either W or Q/selecting either the
correct method W or the correct method Q/
s/the receiver and the argument of a messages/the receiver and the
argument of a + message/