Patterns
The following code examples demonstrate how a pattern can be declared and used. See section [TBD] for details.
Declaration
Pattern Type: [matched value: int [-1]; s: string ["None"]; last value: bool;].
Use
`Define a pattern that will match a sequentially equivalent, value-equivalent
construct, assigning values to "matched value", "s", and "last value".`
pattern a: Pattern Type [matched value, = "Matches A", ..., s, last value];
`Define a pattern that will match a sequentially equivalent, value-equivalent
construct, assigning values to "matched value" and "last value".`
pattern b: Pattern Type [matched value, = "Matches B", ..., last value];
`Define a pattern that will match a sequentially equivalent, value-conforming
construct.`
pattern c: [] [ > 10, = "Matches C", ...];
`Define a pattern that will match a sequentially equivalent value-conforming
construct.`
pattern d: [] [ > 10 and < 100, ...];
`Define a pattern that will match a sequentially equivalent, value-conforming
construct.`
pattern e: [] [ = 100];
`Define a pattern that will match a loosely sequentially equivalent
construct with the specified "Some Value" value equivalent to "Matches F".`
pattern f: [s: string] [..., (Some Value) = "Matches F",
..., s is (Other String), ...];
`Use a declared pattern in an operable.`
pattern a: [] [ = 100];
await <context a, pattern a>,
With Mappings
`Declare a mapping that provides an enum value that reflects whether a list of
strings matches either of the specified patterns.`
{String*} matching [] or [] to Result: (list, a, b) ??
list $ a => Result (Matches A),
list $ b => Result (Matches B),
default => Result (Does Not Match).
With Operations
`Declare an operation that qualifies based on a provided pattern and
an anonymous pattern.`
Some operation with Context A and Pattern Type: <a, pattern>,
when a $ pattern,
when a $ [..., (Value C) > 10, = "Example", ...]?
`Operation logic.`
Last updated