Component - modelint/types GitHub Wiki
A User Type can have an arbitrarily complex internal structure.
For example, The Line Segment
User Type consists of two internal components:
Line Segment
Point A :: Point
Point B :: Point
Each of these two Components has a name and an associated Type defining what values can be assigned.
We could also define the Point User Type with two more components
Point
x :: Rat(0,100)
y :: Rat(0,100)
Here we define Point
as having x
and y
Components each constrained to be a range from 0..100 inclusive.
Identifiers
- Name + User type
Attributes
No non-referential attributes.