[squeak-dev] The Inbox: Kernel-fn.1151.mcz
Tony Garnock-Jones
tonyg at leastfixedpoint.com
Sat Feb 10 19:36:30 UTC 2018
On 02/10/2018 07:02 PM, Levente Uzonyi wrote:
> So,
> a perform: {#or:. #xor:. #and:} atRandom with: b
> would just work for that imaginary interpreter if b were a Boolean.
Yes, that "interpreter" works just fine today, if b is a Boolean. It's
the case where b is a Boolean-producing expression - such as in a "lazy"
interpreter - that doesn't work without Fabio's proposed change.
I went and looked at the ANSI standard (draft), btw [1].
There, #xor: is specified as taking only a boolean.
So this would be an extension, potentially affecting portability, for
what that's worth these days.
I think the performance objection has been well-refuted, and I see the
consistency benefit as being real, but probably pretty limited, and I
kind of don't like the potential portability implications.
All told, I'm neutral.
Cheers,
Tony
[1] http://wiki.squeak.org/squeak/uploads/172/standard_v1_9-indexed.pdf
More information about the Squeak-dev
mailing list
|