<<>> <> <> <> <> <> <> <> DIRECTORY ColorTypes USING [HSL], Rope USING [ROPE]; CNSColor: CEDAR DEFINITIONS ~ BEGIN CSLChroma: TYPE ~ {achromatic, red, orangishRed, redOrange, reddishOrange, orange, yellowishOrange, orangeYellow, orangishYellow, yellow, greenishYellow, yellowGreen, yellowishGreen, green, bluishGreen, greenBlue, greenishBlue, blue, purplishBlue, bluePurple, bluishPurple, purple, reddishPurple, purpleRed, purplishRed, brownishRed, redBrown, reddishBrown, brown, yellowishBrown, brownYellow, brownishYellow}; CSLSaturation: TYPE ~ {noSaturation, grayish, moderate, strong, vivid}; CSLLightness: TYPE ~ {black, veryDark, dark, medium, light, veryLight, white}; CNS: TYPE ~ RECORD [hue, saturation, lightness: Rope.ROPE]; CSL: TYPE ~ RECORD [c: CSLChroma, s: CSLSaturation, l: CSLLightness]; HSL: TYPE ~ ColorTypes.HSL; -- RECORD [H, S, L: REAL] CSLFromCNS: PROC [CNS] RETURNS [CSL]; CNSFromCSL: PROC [CSL] RETURNS [CNS]; HSLFromCSL: PROC [CSL] RETURNS [HSL]; CSLFromHSL: PROC [HSL] RETURNS [CSL]; END.