// a main function:
func add(v1, v2):
puts(v1+v2)
end
add(4, 3) // prints 7
add("hi", " all") // prints hi all
// functions are first class values!
func call(fn, arg1, arg2):
return fn(arg1, arg2)
end
call(add, 10, 20) // prints 30
func say(str):
puts(str)
end
func gen():
return say
end
func gengen():
return gen
end
gengen()()("what\'s up !")
// recursion
func fact(n):
if n == 1 then
return n
else
return n * fact(n-1)
end
puts(fact(5))
/*
=== console output: ===
7
hi all
30
what\'s up !
120
*/