Pascal is a strongly-typed language which means, amoung other things, that every value used in a Pascal program has a type, and each value's type controls where and how it can be used. One way Pascal controls where and how values can be used is through the concept of assignment compatibility. Assignment compatibility is a relationship between values and types, and for any given value and type the relationship either exists between them or it does not (i.e. the value is either assignment compatible with the type or it is not).
Irie Pascal implements the assignment compatibility rules defined by Standard Pascal (ISO/IEC 7185), and adds one more rule to support variable length string types. The first five rules below are taken from ISO/IEC 7185 and the sixth one was added to support variable length string types.
A value (V) of type T2 shall be designated assignment compatible with a type T1 if any of the following six statements is true: