Purity leads to compositionality.
if(player.score > 0)
player.setSwizzle(7);
else
player.setSwizzle(player.swizzle + 1);
Analyse this program. It intertwines purity with impurity (setSwizzle
).
S s = player.score > 0 ? 7 : player.swizzle + 1;
player.setSwizzle(s);
Now we have untangled it a little.