Pattern Matching on Numbers and Text

All numbers are represented by the Num object in the Math namespace. A Num object can have a value attached to it. Similarly, strings of text are created using the Text object in the Text namespace. A Text object can optionally have a value attached to it.

Pattern matching to objects with values or text

If the pattern has a value, then the expression must also be the same object and have the same value. If the object in the pattern doesn't have a value, then it will pattern match to any expression that has the same name and zero parameters whether it has a value or not.

For example:

{ 3.1 => Num } will be true

{ some text => Text } will be true (note that the pattern on the right side is just the Text object as opposed to the Text object containing the string "Text")

{ some text => some other text } will be false