||:: foo = bar :: bar = baz :: baz = 2 :: quux = foo :: baz = bar + foo :: baz = baz + quux :: baz = baz + baz |:: $x = $y $op $z :@math: $| :: $x = $ |:: $x = $y + $z? :unbound: ($z $y)| :@math: add $y $z |:: $x = $y - $z? :unbound: ($z $y)| :@math: subtract $y $z |:: $x = $y * $z? :unbound: ($z $y)| :@math: multiply $y $z |:: $x = $y / $z? :unbound: ($z $y)| :@math: divide $y $z |:: $x = $y $op $z :variable: $y $| :: $x = $ $op $z |:: $x = $y $op $z? :unbound: $y| |:: $x = $y $op $z :variable: $z $| :: $x = $y $op $ |:: $x = $y $op $z? :unbound: $z| |:: $x = $y $op $z?| :: get $y :: get $z |:: $x = $y :unbound: $y| :: set $x to $y |:: $x = $y :variable: $y $| :: $x = $ |:: $x = $y?| :: get $y |:: get $x :variables: $x $y?| :variable: $x $y :: reset variables |:: get $x? :variables: $ $y| :skipped: $ $y |:: get $x| :unbound: $x :: reset variables |:: set $x to $y :variables: $x $| :variables: $x $y :: reset variables |:: set $x to $y? :variables: $n $| :skipped: $n $ |:: set $x to $y| :variables: $x $y :: reset variables |:: reset variables? :skipped: $x $y| :variables: $x $y |:: reset variables| |:: clear variables? :variables: $x $y| |:: clear variables|