A Tour of Morfa

Functions

Functions are among the basic blocks of Morfa programs. As in C++ or D, functions may be declared both on the top-level of a Morfa module and in classes or structures. Functions may also be nested inside other functions.

Morfa supports functional programming: functional values may be constructed at runtime, stored in variables, passed as arguments and returned from functions.

Morfa supports user-defined conversions between types, defined using special functions named convert.