EGL provides several native types, and a language extender
can add more. The most elemental are the simple native types.
They have no sub-fields and can be categorized as follows:
- Character types
- Date and time types
- Large object types
- Numeric types
- The logical BOOLEAN type, which is the basis of an instance that
resolves to true or false.
Other native types have sub-fields:
- List types, which you can use to define one or another
type of list. A list is composed of an ordered sequence
of elements that can be changed at run time, whether to change the
content of a specific element or to increase or decrease the number
of elements.
- Enumeration types, which are categories that you can use
to define a named value. For example, a system-provided enumeration
is ColorKind, and valid values include ColorKind.red and ColorKind.white.
- System libraries. which include functions, variables, and
constants that you can access in your own logic.
- ANY, which you can use as the basis of a field that has the following
characteristic: it can reference an instance of one type at one point
in your logic but then reference an instance of a second type at another
point.
- Dictionary type, which you can use to define a dictionary.
A dictionary is an instance of key-value pairs that can be changed
at run time, whether to change a specific value or to change the number
of pairs. Each value is of type ANY.
As an EGL developer, you can create parts, which are types
that are specific to your set of applications. For example, you might
create a part named EmployeeRecordPart, from which
you create an instance that has data on a specific employee.
The native types are further described in "Class classifier overview.”