An early use of CallByName, see the following AlgolLanguage code:
begin integer i;
real procedure sum(i, lo, hi, term);
value lo, hi; integer i, lo, hi; real term;
comment term is passed by-name;
begin real temp; temp := 0;
for i := lo step 1 until hi do
temp := temp + term;
sum := temp
end;
print( sum(i, 1, 100, 1/i), 6, 3 )
end
The answer is 5.187378...
Apparently DonaldKnuth thought it was a good idea, and wrote the ManOrBoy test to determine which compilers could handle it correctly.