4 ms·
In practice, Io does follow the principle of least surprise. By default, blocks aren't activatable and methods are.
by richcollins 17y ago
In practice, Io does follow the principle of least surprise. By default, blocks aren't activatable and methods are.
- gfodor 17y agoI'm talking about a higher meta-level: to me, it's surprising that the language semantics of what it means to simply type an identifier of a function change based upon the runtime state of the program. This seems crazy to me, it's like A New Kind of Side Effect I'd never seen before.
- richcollins 17y agoThis is called late binding, and it allows you more flexibility and productivity if you're willing to accept fewer constraints. Its actually quite powerful and allows some things that make Io a joy to work with. Memoization for instance: foo := method(foo = performSomeBigCalculation)