4 ms·
glacials made a typo that makes their explanation harder to folow. The correct smalltalk is: 3 factorial + 4 factorial between: 10 and: 100 And the point
by tinco 4y ago
glacials made a typo that makes their explanation harder to folow. The correct smalltalk is:
3 factorial + 4 factorial between: 10 and: 100
And the point about it reading like English is that because the syntax relies heavily on their fancy precedence rules you can make complex expressions without needing parentheses I think. It looks like the compiler magically knows what is meant by the expression, but the reality is that you need to be very aware of the grammar to be able to write it. It does look pretty in my opinion, but definitely opaque to someone not aware of the rules.
Is 3 factorial plus 4 factorial between 10 and 100?
- tragomaskhalos 4y agoThe precedence rules are: unary > binary > keyword. That's it. Various criticisms have been levelled at Smalltalk, but it's a very long stretch to claim that it is difficult for humans to learn.
- Jtsummers 4y agoThrowing in the parenthesis: ((3 factorial) + (4 factorial)) between: 10 and: 100. Otherwise it's just left to right processing: 3 + 4 * 10. Becomes 70 as a consequence of these rules, the parser is pretty simple.