Данный раздел дает краткий обзор элементов языка CLIPS Object-Oriented Language (COOL) — встроенного языка CLIPS, предоставляющего объектно-ориентированные возможности.
Отличия COOL от других объектно-ориентированных языков
В так называемых "чистых" объектно-ориентированных языках абсолютно все программные элементы являются объектами, и любые действия над ними выполняются посредством посылки сообщений. В CLIPS объектами являются только объекты классов, определенных пользователем, и объекты, представляющие данные примитивных типов CLIPS. С объектами, представляющими данные примитивных типов, можно манипулировать с помощью сообщений, а для объектов классов, определенных пользователем, это является единственно возможным способом работы с объектом. Например, в "чистых" объектно-ориентированных языках для сложения двух чисел первому из них передается сообщение add и в качестве аргумента передается второе. В CLIPS для этого достаточно просто вызвать функцию + и в качестве аргументов передать ей два числа. Однако вы можете определить соответствующий обработчик сообщения add для класса number и работать с числами в стиле "чистых" систем ООП.
Работа со всеми программными элементами CLIPS, не являющимися объектами, выполняется не в объектно-ориентированном стиле, а с помощью вызовов соответствующих функций. Например, для вывода на экран определения правила используется функция ppdefrule, которой нужное правило передается в качестве параметра, а не посылается сообщение print, так как правило не является объектом.