Part 3: the language


What can it do? - Case statements

|z|
z := {
  [a] := [1+1].
  ['b' asSymbol] := [2+2].
  [#c] := [3+3]
}.
#b caseOf: z

-> 4

compiler knows how to compile #caseOf:  inline

#b caseOf: {
   [#a] := [1+1].
   ['b' asSymbol] := [2+2].
   [#c] := [3+3]
}

-> 4