Phrogz wrote:
> I've been learning Io[1] recently. Io (like Lisp, I gather) allows
> lazy evaluation of method arguments.
...
> In Io, the "isCool?" method/message isn't (necessarily) evaluated when
> you call the select method.

This is known as "call by name", as opposed to by reference or by value.
It was, more than anything, the single thing that caused the most difficulty
for the authors of Algol68 optimising compilers :-).

Niklaus Wirt once joked that Europeans (who know how to pronounce his name)
called him by name, whereas Americans called him by value (nickel's worth).
Maybe apocryphal, but funny :-).

Clifford Heath.