>>7
Proc arguments are not lazy evaluation, AFAIR it's just forcing some evaluation to be performed in normal order. Lazy evaluation is normal order + sharing (through memoization).
But I agree, Algol is surprisingly useful for an old and imperative language.