[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