The freakiest argument passing mechanism on this planet; used in Algol 60
. The argument passed to the function (which may be an expression) is evaluated only
at the moment it is actually used within the function - which may be several times.
Practical applications are known, and efforts were made to include it, as a form of coercion, into Algol 68, but they eventually failed due to ambiguity problems.
A reliable source informs me that call by name is back in Ruby.