Complex numbers
In this example we implement a complex number type and a user-defined ‘function’ that can add two complex numbers. We encode the complex number type to be a sequence of exactly two numbers.
Then we define the nested struct add
that maps two consecutive complex numbers to calculate their sum.
Notice that function calls are emulated in ALT by using indexing on structs. But it is good to emphasize however, that functions don’t really exist in ALT, at least not in the traditional way.
You could also argue that ALT structs are functions as they map domain values (keys) to range values.