diff --git a/Enum-Type-Definitions.md b/Enum-Type-Definitions.md new file mode 100644 index 0000000..b64b492 --- /dev/null +++ b/Enum-Type-Definitions.md @@ -0,0 +1,30 @@ +# Syntax + +``` +enum ro Weekday:Int + sunday + monday + tuesday + wednesday + thursday + friday + +enum ro NamedColor:U32 + red 0xFF0000 + green 0x00FF00 + blue 0x0000FF +``` + +Each line under an enum represents a member and is composed of a name, and an optional initialization value. + +Enum members are accessed similarly to object members: + +``` +set day:Weekday Weekday.thursday +``` + +# Semantics +Enums "enumerate" a pre-existing type, most likely an Int. + +Enum members can have explicitly defined values, but if they don't, their value +is just incremented up from zero. The order in which members are listed in matters. \ No newline at end of file