Logically: Constrain a variable (or all variables in a list) to take only integer values in a given range. Lo and Hi must be integers or the symbolic bound values inf, +inf and -inf. For instance
X #:: 0..1 % boolean X #:: -1..5 % integer between -1 and 5 X #:: 1..inf % strictly positive integer X #:: 0.0..10.0 % type error X #:: 1.5..3.7 % type error X #:: 0.0..inf % positive integer X #:: 0.0..5 % integer between 0 and 5
Operationally, the range and type (integer) information is immediately stored into the variable's attribute.