# FUNCTIONS # ========= fun double(n) n * 2 end assert double(4) == 8 assert 8 == double(4) assert double(4) != 10 assert 9 != double(4) assert double(double(double(3))) == 24 fun a() return 45 end assert a() == 45 fun b() return 27 return 32 end assert b() == 27 fun max(m, n) if m > n then return m end return n end assert max(7, 3) == 7 assert max(7, 9) == 9 # RECURSIVITY # =========== fun fac(n) if n == 0 then return 1 end return n * fac(n - 1) end assert fac(5) == 120 fun fib(n) if n == 0 or n == 1 then return 1 end return fib(n - 2) + fib(n - 1) end assert fib(6) == 13