An enumeration and the operators it is given

The complete source of forAI_enum_operators.ek9, compiled by the EK9 compiler. Shown on forAI.html.

#!ek9
defines module site.forAI.enumoperators

  defines type
    TrafficLight
      Red
      Amber
      Green

  defines program

    TrafficLightOperators()
      stdout <- Stdout()
      light <- TrafficLight.Red

      stdout.println($light)
      stdout.println($$light)
      stdout.println($ #< light)
      stdout.println($ #> light)
      stdout.println($ (light < TrafficLight.Green))
      stdout.println($ TrafficLight("Blue")?)
      stdout.println($ (light == "Red"))
      lights <- cat TrafficLight | collect as List of TrafficLight
      stdout.println($lights)

Download forAI_enum_operators.ek9

Output

Red
"Red"
Red
Green
true
false
true
[Red, Amber, Green]