Assignment statements use the <- operator.

a <- b;

Assignment of basic types is by value, and of class types by reference. Assignment can be used in an expression, where it returns the value of the left operand after assignment.

It is possible to declare assignment and conversion operators within a class, allowing assignment to objects from values, or conversion of objects to values, where sensible.


The operator =, often used for assignment in other languages, is reserved for possible future use in Birch (e.g. for declaring equations).