JensensDevice

Last edit October 31, 2000
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.