The FizzBuzz example gave us an good overview.

Arguments by reference

We can also pass parameters by reference. This enables us to change the variable with in the function.

/reference.lm
str sa( where:ref < str > ) {
    print( "in SA ", where, "\n" )
    where = "sa"
    print( "in SA ", where, "\n" )
}

where: str =  "global"
print( "in global ", where, "\n" )
sa( where )
print( "in global ", where, "\n" )

Compiling and running would give us:

in global global
in SA global
in SA sa
in global sa