Конструктор definstances позволяет создавать набор объектов, добавляющихся в базу знаний CLIPS при каждой очистке системы. При выполнении команды reset среда CLIPS очищается, а затем в список объектов добавляются все объекты, заданные конструкторами def instances. CLIPS содержит один предопределенный системный конструктор definstances, который вызывает добавление в систему объекта initial-object. К более подробному описанию особенностей создания и использования объектов мы вернемся в гл. 11.
Глобальные переменные
Конструктор defglobal предназначен для определения глобальных переменных. Доступ к такой переменной можно получить из любого места среды CLIPS, а значения, которые они содержат, не зависят ни от каких других конструкций языка. В отличие от этого, некоторые конструкторы (например, defruie или deffunction) позволяют создавать локальные переменные. Эти локальные переменные доступны только внутри тела соответствующего правила или функции. Глобальные переменные CLIPS подобны глобальным переменным, встречающимся в таких традиционных процедурных языках, как С или Ada. Однако, в отличие от них, глобальные переменные CLIPS являются слабо типизированными. Они способны хранить значение любого типа.
Представление знаний
CLIPS поддерживает как эвристическую, так и процедурную парадигму представления знаний. Обе эти парадигмы описаны в данном разделе. Объектно-ориентированное программирование, комбинирующее обе эти парадигмы, описано в разд. 4.4.