Laurel Language Designer Guide

9.2. Assignments to fresh and existing declarations🔗

In Laurel, assignments can have multiple targets. Each target can be either an existing variable or a local declaration. Example:

var x: int;
var z: int;
assign x, var y: int, z := hasThreeOutputs()

In Core, when calling a procedure with multiple outputs, each output parameter must be assigned to an existing local variable. Example:

var x: int;
var y: int;
var z: int;
hasThreeOutputs(out x, out y, out z);