Property - modelint/types GitHub Wiki

A User Type may be initialized with additional data that can be used to format the value assigned to some variable.

A motivating case is the formation of identifier values.

We can define a User Type named Lane ID based on Nominal like this:

Lane ID

  Nominal(prefix: 'L')  // Setting the prefix property at initialization

Nominal

  ID :: Integer(1, max)

Here we see that the Nominal prefix Property is set to "L". Consquently, Lane ID values will be L1, L2, etc. In fact, we may want to define two Properties on Nominal, prefix and suffix. These default to empty strings if not set.

A Property is established when a Type is defined and cannot be changed.

Identifiers

  1. Name + Type

Attributes

Name

Type: Property Name -> Name LA25