Functions can be defined using a Python-inspired style syntax. One notable difference is that each argument must be followed by its type.
def add(x real, y real): x + y add(4,5)
We may optionally provide a type for the return value of a function if we wish.
def add(x real, y real) real: x + y add(4,5)
If you don’t wish to name your functions, we also offer a syntax for anonymous functions. These only take on argument and must be given a type alongside the variable name.
fn x real: x + 1
Internally, there are only one argument anonymous functions, and lets. The first example is equivalent to the following.
add = fn x real: fn y real: x + y add(4,5)