Orb Programming Language

Ref values

In Orb, there is a distinction between ref and non-ref values. Loading a symbol or an element of a ref value yields a ref value. Ref values can be reassigned with new values.

fnc main () () {
    sym x:i32;
    = x 1; # this is ok

    sym a:(i32 4);
    = ([] a 0) x; # this is ok
};

Trying to assign to a non-ref value results in an error.

fnc main () () {
    = 1 0; # error!
};