MODULE tsetops; // SET OF enum + SET OF char-range, INCL/EXCL, SHIFT/ROTATE. TYPE Colour = (Blue, Red, Green, White); CS = SET OF Colour; Chars = SET OF ['A'..'z']; VAR x : CS; c : Chars; r : CS; VAR ExitCode : INTEGER; BEGIN x := CS {}; INCL(x, Red); INCL(x, Blue); EXCL(x, Red); c := Chars {'A'}; r := SHIFT(CS {Blue}, 1); (* {Blue}(bit 0) -> {Red}(bit 1) *) IF (Blue IN x) AND NOT (Red IN x) AND ('A' IN c) AND (Red IN r) THEN ExitCode := 42 ELSE ExitCode := 1 END END tsetops.