3 ms·
That's a pretty good explanation; if it's accurate, I wonder why no one else explains it that way. In Smalltalk, I thought arguments are always evaluated unles
by gruseom 17y ago
That's a pretty good explanation; if it's accurate, I wonder why no one else explains it that way.
In Smalltalk, I thought arguments are always evaluated unless they're blocks. Is that wrong? Or is it that, at a lower level, everything's a block, and functions are implemented on top of that as something that always evaluates args?
- derefr 17y agoNo, you're right—arguments are always evaluated unless they're blocks in the full Smalltalk design we have today. However, like I said, this is a codified design pattern—the language could get away without doing it while still retaining the "core Smalltalk conceit" of everything being a message sent to an object. This is basically what the io language does—it's basically a Smalltalk at its core, but with less cruft.