CDuce/Types/Int

CDuce integers are arbitrarly large, positive or negative. The three literals 9 09 009 correspond to the same integer. It corresponds also to the type "integer of value nine" which is a singleton set containing the integer 9. -> 9
 * 1) print_type 9;;

The expression type Foo = 1 | 2 | 3 | 4 define the type Foo which corresponds to the set containing the first four positive integer. An other way to construct a set of consecutive integers: type Foo = 1--4

-> -3---1
 * 1) print_type -1 | -2 | -3;;

The sets of strictly positive and strictly negative integers, and constructions from them type Positive = 1--* type Negative = *---1 type NonNul = Positive | Negative -> Int
 * 1) print_type NonNul | 0