enum

type enum < type, sequence

The base type of enumeration types.

meth enum(Name₁ is Value₁, ...): enum

Returns a new enumeration type.

let colour := enum(Red is 10, Green is 20, Blue is 30)
:> <<colour>>
colour::Red :> Red
list(colour, _ + 0) :> [Red, Green, Blue]
meth enum(Names: string, ...): enum

Returns a new enumeration type.

let day := enum("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
:> <<day>>
day::Wed :> Wed
day::Fri + 0 :> Fri
meth (Enum: enum):count: integer

Returns the size of the enumeration Enum.

let day := enum("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
:> <<day>>
day:count :> 7
meth (Enum: enum):random: enum::value

TBD

type enum::cyclic < enum

TBD

type enum::interval < sequence

A interval of enum values.

type enum::value < integer

An instance of an enumeration type.

meth (Arg₁: enum::value) + (Arg₂: integer)

TBD

meth (Arg₁: enum::value) - (Arg₂: integer)

TBD

meth (Min: enum::value) .. (Max: enum::value): enum::interval

Returns a interval of enum values. Min and Max must belong to the same enumeration.

let day := enum("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
:> <<day>>
day::Mon .. day::Fri :> <enum-interval[day]>
meth (Arg₁: enum::value) <> (Arg₂: integer)

TBD

meth integer(Arg₁: enum::value)

TBD

meth (Arg₁: enum::value):next

TBD

meth (Arg₁: enum::value):prev

TBD

meth (Arg₁: string::buffer):append(Arg₂: enum::value)

TBD

meth (Arg₁: integer) + (Arg₂: enum::value)

TBD

meth (Arg₁: integer) <> (Arg₂: enum::value)

TBD

meth enum::cyclic(Name₁ is Value₁, ...): enum

Returns a new enumeration type.

let colour := enum::cyclic(Red is 10, Green is 20, Blue is 30)
:> <<colour>>
colour::Red :> Red
list(colour, _ + 0) :> [Red, Green, Blue]
meth enum::cyclic(Names: string, ...): enum

Returns a new enumeration type.

let day := enum::cyclic("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
:> <<day>>
day::Wed :> Wed
day::Fri + 0 :> Fri