Declare opaque- and distinct-type variables

Opaque-type variables hold data retrieved from opaque data types. Distinct-type variables hold data retrieved from distinct data types. If you define a variable with an opaque data type or a distinct data type, the variable can only hold data of that type.

If you define an opaque data type named point and a distinct data type named centerpoint, you can define SPL variables to hold data from the two types, as the following figure shows.
Figure 1: Defining SPL variables to hold opaque and distinct data types.
DEFINE a point;
DEFINE b centerpoint;

The variable a can only hold data of type point, and b can only hold data of type centerpoint.