# returns Fizz if n is divisible by 3, # Buzz if n is divisible by 5, # FizzBuzz if n is divisible by 3 and 5, # n as a string otherwise def fizzbuzz(n) if =(+(mod(n 3) mod(n 5)) 0) "FizzBuzz" elif =(mod(n 3) 0) "Fizz" elif =(mod(n 5) 0) "Buzz" else string(n) end end # generate a list of integers from n to top def genlist(n top) def rec(l n top) if <=(n top) @rec(+(l list(n)) +(n 1) top) else l end end rec(list() n top) end def main() display(map(fizzbuzz genlist(1 20))) end