# Bottles of beer in Navel Greg Michaelson greg@cee.hw.ac.uk # def itos n = if n=0 then "0" else itos1 "" n; def itos1 l n = if n=0 then l else itos1 (char (n%10+'0')):l n/10; def verse n = {(itos n) " bottle(s) of beer on the wall\n" (itos n) " bottle(s) of beer on the wall\n" "Take one down and pass it around\n" (itos n-1) " bottle(s) of beer on the wall\n"}; def verses n = if n=0 then () else let v = write (?(verse n)) in verses n-1;