+++ /dev/null
-
-0MBEGIN-ENTRY-MAIN
-
-HELP_USAGE FUNCTION_SUMMARY
-RELEASE_NOTES COMMAND_SUMMARY
-CONSTRUCT_SUMMARY INTEGRATED_EDITOR
-
-END-ENTRY
-
-1IBEGIN-ENTRY-HELP_USAGE
-
-HELP_USAGE
-
-H.2 Using the Help Facility
-The help facility displays menus of topics and prompts the user for a choice.
-It then references the help file for that information. The help facility can
-be called with or without a command-line topic.
-
-Syntax:
- (help [<path>])
-
-where <path> is the full path leading to a topic in the help tree. For
-example, for information on defrule syntax, the user would type:
- (help construct_summary defrule).
-The help function has no return value.
-
-Each element or field in the path is delimited by white space, and the help
-facility is not case sensitive. In addition, the entire name of a field does
-not need to be specified. Only enough characters to distinguish the field
-from other choices in the menu are necessary (if there is a conflict, the help
-facility will pick the first one in the list). For instance, (help con def)
-would be sufficient for the above example.
-
-A few special fields can be used while in the help facility.
-
-^ Branch up one level.
-? When specified at the end of a path, this forces a display of the
- current menu, even on branch-ups.
-<nil> Giving no topic field will branch up one level.
-
-A branch-up from the MAIN topic root node implies an exit from help.
-
-By default, the help facility comes up in the MAIN topic root menu and the
-user may make a choice as described above. The prompt line always displays
-the name of the current menu. The help facility will branch through the help-
-tree until instructed to exit by a branch-up from the top level. The level
-always is reset to the MAIN topic upon exit from the help facility.
-
-The first call to the help facility will take longer than successive calls
-while the system loads help information into an internal lookup table. All
-other calls to the help facility are very fast.
-
-The help facility reads help information from a file during execution. Users
-may wish to change the location of the help file to meet the configuration of
-their system. The help-path function was provided to allow this.
-
-Syntax:
- (help-path [<help-file-name>])
-
-If no argument is specified, the function displays the name of the current
-help file. If an argument is specified, the help facility will use the new
-file name for future help references during this CLIPS session. To change the
-location of the help file permanently, a change must be made in the setup.h
-file, then CLIPS must be recompiled. The help-path function has no return
-value.
-
-END-ENTRY
-
-1MBEGIN-ENTRY-RELEASE_NOTES
-
-RELEASE_NOTES
-
-The release notes help section contains information about new features
-and where to get technical support.
-
-Subtopics:
-NEW_FEATURES SUPPORT_INFORMATION
-
-END-ENTRY
-
-2IBEGIN-ENTRY-NEW_FEATURES
-
-RELEASE_NOTES
- NEW_FEATURES
-
-Version 6.2 of CLIPS contains two major enhancements. First, CLIPS now
-provides a mechanism which allows an embedded application to create
-multiple environments into which programs can be loaded. Second, an
-improved Windows 95/98/NT CLIPS interface is now available and the
-Macintosh CLIPS interface has been enhanced to support MacOS X. For a
-detailed listing of differences between the 6.x releases of CLIPS,
-refer to appendix B of the Basic Programming Guide and appendix C of
-the Advanced Programming Guide.
-
-END-ENTRY
-
-2IBEGIN-ENTRY-SUPPORT_INFORMATION
-
-RELEASE_NOTES
- SUPPORT_INFORMATION
-
-CLIPS executables, documentation, and source code are available for
-download from http://www.ghg.net/clips/download/.
-
-Questions regarding CLIPS can be sent via electronic mail to
-clips@ghg.net.
-
-An electronic conferencing facility, sponsored by Distributed Computing
-Systems (http://www.discomsys.com), is also available to CLIPS users.
-Subscribers to this facility may send questions, observations, answers,
-editorials, etc., in the form of electronic mail to the conference. All
-subscribers will have a copy of these messages reflected back to them at
-their respective electronic mail addresses. To subscribe, send a single
-line message to clips-request@discomsys.com containing the word
-"subscribe". The subject field is ignored but the address found in the
-ÔReply:Õ, ÔReply to:Õ, or ÔFrom:Õ field will be entered in the
-distribution list. Upon subscription you will receive a mail message
-instructing you how to participate in the conference from that point
-forward. Save this mail message. You may need the instructions later if
-you wish to unsubscribe from the list server.
-
-To send your own messages to members of the conference you need simply
-address your mail to clips@discomsys.com. Your message will be reflected
-to all other members of the conference.
-
-If you wish to remove yourself from the conference and discontinue
-receiving mail simply send a message to clips-request@discomsys.com with
-"unsubscribe" as the message text. If you want to unsubscribe using
-another email account than the one you subscribed with, then append the
-original subscribing email account to the text of the message. For
-example: "unsubscribe john.doe@account.net". Do not send unsubscribe
-messages to clips@discomsys.com! This sends a mail message to every
-member of the list. If you need to get in contact with the list
-administrator (for trouble unsubscribing or other questions about the
-list), send email to clips-owner @discomsys.com.
-
-Intelligent Software Professionals has made available the CLIPS-LIST
-archive, a WWW-based full text searchable archive containing over two
-years of question and answers directed to the CLIPS List Server. It can
-be accessed at the URL http://www.isphouston.com/swish-web.html.
-
-A CLIPS World Wide Web page can be accessed using the URL
-http://www.ghg.net/clips/CLIPS.html.
-
-Usenet users can also find information and post questions about CLIPS to the
-comp.ai.shells news group.
-
-The CLIPS Developers' Forum, a thread-based message board, is available
-at http://www.cpbinc.com/clips. This board exists to provide a site for
-discussion of research, development, and implementation of the CLIPS
-expert systems and related technologies. The hosting services for this
-web page are provided by CPB, Inc. Questions pertaining to this forum
-can be sent to jerry.gamble@cpbinc.com.
-
-END-ENTRY
-
-1MBEGIN-ENTRY-CONSTRUCT_SUMMARY
-
-CONSTRUCT_SUMMARY
-
-This section gives a general overview of the available CLIPS constructs.
-
-Subtopics:
-DEFRULE DEFCLASS
-DEFFACTS DEFINSTANCES
-DEFTEMPLATE DEFMESSAGE-HANDLER
-DEFGLOBAL DEFMODULE
-DEFFUNCTION CONSTRAINT_ATTRIBUTES
-DEFGENERIC/DEFMETHOD
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFRULE
-
-CONSTRUCT_SUMMARY
- DEFRULE
-
-One of the primary methods of representing knowledge in CLIPS is a rule.
-A rule is a collection of conditions and the actions to be taken if the
-conditions are met. The developer of an expert system defines the rules
-which describe how to solve a problem. Rules execute (or fire) based on
-the existence or non-existence of facts. CLIPS provides the mechanism
-(the inference engine) which attempts to match the rules to the current
-state of the system (as represented by the fact-list) and applies the
-actions.
-
-(defrule <rule-name> [<comment>]
- [<declaration>]
- <conditional-element>*
- =>
- <action>*)
-
-DECLARATIONS
-------------------------------------------------------------------
-<declaration> ::= (declare <rule-property>+)
-
-<rule-property> ::= (salience <integer-expression>) |
- (auto-focus <boolean-symbol>)
-
-CONDITIONAL ELEMENTS
-------------------------------------------------------------------
-<conditional-element> ::= <pattern-CE> | <assigned-pattern-CE> |
- <not-CE> | <and-CE> | <or-CE> |
- <logical-CE> | <test-CE> |
- <exists-CE> | <forall-CE>
-
-<test-CE> ::= (test <function-call>)
-
-<not-CE> ::= (not <conditional-element>)
-
-<and-CE> ::= (and <conditional-element>+)
-
-<or-CE> ::= (or <conditional-element>+)
-
-<exists-CE> ::= (exists <conditional-element>+)
-
-<forall-CE> ::= (forall <conditional-element>
- <conditional-element>+)
-
-<logical-CE> ::= (logical <conditional-element>+)
-
-PATTERN CONDITIONAL ELEMENT
-------------------------------------------------------------------
-<assigned-pattern-CE> ::= ?<variable-symbol> <- <pattern-CE>
-
-<pattern-CE> ::= <ordered-pattern-CE> |
- <template-pattern-CE> |
- <object-pattern-CE>
-
-<ordered-pattern-CE> ::= (<symbol> <constraint>*)
-
-<template-pattern-CE> ::= (<deftemplate-name <LHS-slot>*)
-
-<object-pattern-CE> ::= (object <attribute-constraint>*)
-
-<attribute-constraint> ::= (is-a <constraint>) |
- (name <constraint>) |
- (<slot-name> <constraint>*)
-
-<LHS-slot> ::= <single-field-LHS-slot> |
- <multifield-LHS-slot>
-
-<LHS-slot> ::= <single-field-LHS-slot> |
- <multifield-LHS-slot>
-
-<single-field-LHS-slot> ::= (<slot-name> <constraint>)
-
-<multifield-LHS-slot> ::= (<slot-name> <constraint>*)
-
-PATTERN CONSTRAINTS
-------------------------------------------------------------------
-<constraint> ::= ? | $? | <connected-constraint>
-
-<connected-constraint>
- ::= <single-constraint> |
- <single-constraint> & <connected-constraint> |
- <single-constraint> | <connected-constraint>
-
-<single-constraint> ::= <term> | ~<term>
-
-<term> ::= <constant> |
- <single-field-variable> |
- <multifield-variable> |
- :<function-call> |
- =<function-call>
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFFACTS
-
-CONSTRUCT_SUMMARY
- DEFFACTS
-
-With the deffacts construct, a list of facts can be defined which are
-automatically asserted whenever the reset command is performed.
-Facts asserted through deffacts may be retracted or pattern matched like
-any other fact. The initial fact-list, including any defined deffacts,
-is always reconstructed after a reset command.
-
-The syntax of the deffacts construct is:
-
-(deffacts <deffacts-name> [<comment>]
- <RHS-pattern>*)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFTEMPLATE
-
-CONSTRUCT_SUMMARY
- DEFTEMPLATE
-
-Ordered facts encode information positionally. To access that information,
-a user must know not only what data is stored in a fact but which field
-contains the data. Non-ordered (or deftemplate) facts provide the user
-with the ability to abstract the structure of a fact by assigning names
-to each field found within the fact. The deftemplate construct is
-used to create a template which can then be used by non-ordered facts to
-access fields of the fact by name. The deftemplate construct is analogous
-to a record or structure definition in programming languages such as Pascal
-and C.
-
-The syntax of the deftemplate construct is:
-
-(deftemplate <deftemplate-name> [<comment>]
- <slot-definition>*)
-
-<slot-definition> ::= <single-slot-definition> |
- <multislot-definition>
-
-<single-slot-definition> ::= (slot <slot-name>
- <template-attribute>*)
-
-<multislot-definition> ::= (multislot <slot-name>
- <template-attribute>*)
-
-<template-attribute> ::= <default-attribute> |
- <constraint-attribute>
-
-<default-attribute>
- ::= (default ?DERIVE | ?NONE | <expression>*) |
- (default-dynamic <expression>*)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFGLOBAL
-
-CONSTRUCT_SUMMARY
- DEFGLOBAL
-
-With the defglobal construct, global variables can be defined, set, and
-accessed within the CLIPS environment. Global variables can be accessed
-as part of the pattern matching process, but changing them does not invoke
-the pattern matching process. The bind function is used to set the value
-of global variables.
-
-The syntax of the defglobal construct is:
-
-<defglobal-construct> ::= (defglobal [<defmodule-name>]
- <global-assignment>*)
-
-<global-assignment> ::= <global-variable> = <expression>
-
-<global-variable> ::= ?*<symbol>*
-
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFFUNCTION
-
-CONSTRUCT_SUMMARY
- DEFFUNCTION
-
-With the deffunction construct, new functions may be defined directly in
-CLIPS. Deffunctions are equivalent in use to other functions in CLIPS.
-The only differences between user-defined external functions and
-deffunctions are that deffunctions are written in CLIPS and executed
-by CLIPS interpretively and user-defined external functions are written
-in an external language, such as C, and executed by CLIPS directly.
-Also, deffunctions allow the addition of new functions without having to
-recompile and relink CLIPS.
-
-The syntax of the deffunction construct is:
-
-(deffunction <name> [<comment>]
- (<regular-parameter>* [<wildcard-parameter>])
- <action>*)
-
-<regular-parameter> ::= <single-field-variable>
-<wildcard-parameter> ::= <multifield-variable>
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFGENERIC/DEFMETHOD
-
-CONSTRUCT_SUMMARY
- DEFGENERIC/DEFMETHOD
-
-With the defgeneric/defmethod constructs, new generic functions may be written
-directly in CLIPS. Generic functions are similar to deffunctions because
-they can be used to define new procedural code directly in CLIPS, and they can
-be called like any other function. However, generic functions are much more
-powerful because they can do different things depending on the types
-(or classes) and number of their arguments. For example, a '+' operator could
-be defined which performs concatenation for strings but still performs
-arithmetic addition for numbers. Generic functions are comprised of
-multiple components called methods, where each method handles different
-cases of arguments for the generic function. A generic function which has
-more than one method is said to be overloaded.
-
-A generic function is comprised of a header (similar to a forward declaration)
-and zero or more methods. A generic function header can either be explicitly
-declared by the user or implicitly declared by the definition of at least one
-method. The defgeneric construct is used to specify the generic function
-header,
-and the defmethod construct is used for each of the generic function's
-methods.
-
-The syntax of the defgeneric/defmethod constructs is:
-
-(defgeneric <name> [<comment>])
-
-(defmethod <name> [<index>] [<comment>]
- (<parameter-restriction>* [<wildcard-parameter>])
- <action>*)
-
-<parameter-restriction> ::= <single-field-variable> |
- (<single-field-variable> <type>* [<query>])
-
-<wildcard-parameter> ::= <multifield-variable>
-
-<type> ::= <class-name>
-
-<query> ::= <global-variable> | <function-call>
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFCLASS
-
-CONSTRUCT_SUMMARY
- DEFCLASS
-
-A defclass is a construct for specifying the properties (slots) of a class of
-objects. A defclass consists of four elements: 1) a name, 2) a list of
-superclasses from which the new class inherits slots and message-handlers,
-3) a specifier saying whether or not the creation of direct instances of the
-new class is allowed and 4) a list of slots specific to the new class. All
-user-defined classes must inherit from at least one class, and to this end
-COOL provides predefined system classes for use as a base in the derivation
-of new classes.
-
-Any slots explicitly given in the defclass override those gotten from
-inheritance. COOL applies rules to the list of superclasses to generate a
-class precedence list for the new class. Facets further describe slots.
-Some examples of facets include: default value, cardinality, and types of
-access allowed.
-
-The syntax of the defclass construct is:
-
-(defclass <name> [<comment>]
- (is-a <superclass-name>+)
- [<role>]
- [<pattern-match-role>]
- <slot>*
- <handler-documentation>*)
-
-<role> ::= (role concrete | abstract)
-
-<pattern-match-role>
- ::= (pattern-match reactive | non-reactive)
-
-<slot> ::= (slot <name> <facet>*) |
- (single-slot <name> <facet>*) |
- (multislot <name> <facet>*)
-
-<facet> ::= <default-facet> | <storage-facet> |
- <access-facet> | <propagation-facet> |
- <source-facet> | <pattern-match-facet> |
- <visibility-facet> | <create-accessor-facet>
- <override-message-facet> | <constraint-attributes>
-
-<default-facet> ::=
- (default ?DERIVE | ?NONE | <expression>*) |
- (default-dynamic <expression>*)
-
-<storage-facet> ::= (storage local | shared)
-
-<access-facet>
- ::= (access read-write | read-only | initialize-only)
-
-<propagation-facet> ::= (propagation inherit | no-inherit)
-
-<source-facet> ::= (source exclusive | composite)
-
-<pattern-match-facet>
- ::= (pattern-match reactive | non-reactive)
-
-<visibility-facet> ::= (visibility private | public)
-
-<create-accessor-facet>
- ::= (create-accessor ?NONE | read | write | read-write)
-
-<override-message-facet>
- ::= (override-message ?DEFAULT | <message-name>)
-
-<handler-documentation>
- ::= (message-handler <name> [<handler-type>])
-
-<handler-type> ::= primary | around | before | after
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFINSTANCES
-
-CONSTRUCT_SUMMARY
- DEFINSTANCES
-
-Similar to deffacts, the definstances construct allows the specification of
-instances which will be created every time the reset command is executed.
-On every reset all current instances receive a delete message, and the
-equivalent of a make-instance function call is made for every instance
-specified in definstances constructs.
-
-The syntax of the definstances construct is:
-
-<definstances-construct>
- ::= (definstances <definstances-name> [<comment>]
- <instance-template>*)
-
-<instance-template> ::= (<instance-definition>)
-
-<instance-definition> ::= <instance-name-expression> of
- <class-name-expression>
- <slot-override>*
-
-<slot-override> ::= (<slot-name-expression> <expression>*)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFMESSAGE-HANDLER
-
-CONSTRUCT_SUMMARY
- DEFMESSAGE-HANDLER
-
-Objects are manipulated by sending them messages via the function send. The
-result of a message is a useful return-value or side-effect. A
-defmessage-handler is a construct for specifying the behavior of a class of
-objects in response to a particular message. The implementation of a message
-is made up of pieces of procedural code called message-handlers (or handlers
-for short). Each class in the class precedence list of an object's class can
-have handlers for a message. In this way, the object's class and all its
-superclasses share the labor of handling the message. Each class's handlers
-handle the part of the message which is appropriate to that class. Within a
-class, the handlers for a particular message can be further subdivided into
-four types or categories: primary, before, after and around.
-
-A defmessage-handler is comprised of seven elements: 1) a class name to which
-to attach the handler (the class must have been previously defined), 2) a
-message name to which the handler will respond, 3) an optional type (the
-default is primary), 4) an optional comment, 5) a list of parameters that will
-be passed to the handler during execution, 6) an optional wildcard parameter
-and 7) a series of expressions which are executed in order when the handler
-is called. The return-value of a message-handler is the evaluation of the
-last
-expression in the body.
-
-The syntax of the defmessage-handler construct is:
-
-(defmessage-handler <class-name> <message-name>
- [<handler-type>] [<comment>]
- (<parameter>* [<wildcard-parameter>])
- <action>*)
-
-<handler-type> ::= around | before | primary | after
-
-<parameter> ::= <single-field-variable>
-
-<wildcard-parameter> ::= <multifield-variable>
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFMODULE
-
-CONSTRUCT_SUMMARY
- DEFMODULE
-
-CLIPS provides support for the modular development and execution of knowledge
-bases with the defmodule construct. CLIPS modules allow a set of constructs to
-be grouped together such that explicit control can be maintained over
-restricting the access of the constructs by other modules. This type of
-control is similar to global and local scoping used in languages such as C or
-Ada. By restricting access to deftemplate and defclass constructs, modules can
-function as blackboards, permitting only certain facts and instances to be
-seen by other modules. Modules are also used by rules to provide execution
-control.
-
-The syntax of the defmodule construct is:
-
-<defmodule-construct> ::= (defmodule <module-name> [<comment>]
- <port-spec>*)
-
-<port-specification> ::= (export <port-item>) |
- (import <module-name> <port-item>)
-
-<port-item> ::= ?ALL |
- ?NONE |
- <port-construct> ?ALL |
- <port-construct> ?NONE |
- <port-construct> <construct-name>+
-
-<port-construct> ::= deftemplate | defclass |
- defglobal | deffunction | defgeneric
-
-END-ENTRY
-
-2IBEGIN-ENTRY-CONSTRAINT_ATTRIBUTES
-
-CONSTRUCT_SUMMARY
- CONSTRAINT_ATTRIBUTES
-
-Constraint attributes can be associated with deftemplate and defclass slots so
-that type checking can be performed on slot values when template facts and
-instances are created. The constraint information is also analyzed for the
-patterns on the LHS of a rule to determine if the specified constraints
-prevent the rule from ever firing.
-
-The syntax for constraint attributes is:
-
-<constraint-attribute> ::= <type-attribute>Ê|
- <allowed-constant-attribute> |
- <range-attribute> |
- <cardinality-attribute>
- <default-attribute>
-
-<type-attribute> ::= (type <type-specification>)
-
-<type-specification> ::= <allowed-type>+ | ?VARIABLE
-
-<allowed-type> ::= SYMBOL | STRING | LEXEME |
- INTEGER | FLOAT | NUMBER |
- INSTANCE-NAME | INSTANCE-ADDRESS |
- INSTANCE |
- EXTERNAL-ADDRESS | FACT-ADDRESS
-
-<allowed-constant-attribute>
- ::= (allowed-symbolsÊ<symbol-list>) |
- (allowed-strings <string-list>) |
- (allowed-lexemes <lexeme-list> |
- (allowed-integersÊ<integer-list>) |
- (allowed-floatsÊ<float-list>) |
- (allowed-numbersÊ<number-list>) |
- (allowed-instance-names <instance-list>) |
- (allowed-valuesÊ<value-list>) |
-
-<symbol-list> ::= <symbol>+ | ?VARIABLE
-
-<string-list> ::= <string>+ | ?VARIABLE
-
-<lexeme-list> ::= <lexeme>+ | ?VARIABLE
-
-<integer-list> ::= <integer>+ | ?VARIABLE
-
-<float-list> ::= <float>+ | ?VARIABLE
-
-<number-list> ::= <number>+ | ?VARIABLE
-
-<instance-name-list> ::= <instance-name>+ | ?VARIABLE
-
-<value-list> ::= <constant>+ | ?VARIABLE
-
-<range-attribute> ::= (range <range-specification>
- <range-specification>)
-
-<range-specification> ::= <number> | ?VARIABLE
-
-<cardinality-attribute>
- ::= (cardinality <cardinality-specification>
- <cardinality-specification>)
-
-<cardinality-specification> ::= <integer> | ?VARIABLE
-
-END-ENTRY
-
-1MBEGIN-ENTRY-FUNCTION_SUMMARY
-
-FUNCTION_SUMMARY
-
-This section gives a general overview of the available CLIPS functions.
-
-Subtopics:
-PREDICATE_FUNCTIONS DEFRULE_FUNCTIONS
-MULTIFIELD_FUNCTIONS AGENDA_FUNCTIONS
-STRING_FUNCTIONS DEFGLOBAL_FUNCTIONS
-IO_FUNCTIONS DEFFUNCTION_FUNCTIONS
-MATH_FUNCTIONS GENERIC_FUNCTION_FUNCTIONS
-PROCEDURAL_FUNCTIONS COOL_FUNCTIONS
-MISCELLANEOUS_FUNCTIONS DEFMODULE_FUNCTIONS
-DEFTEMPLATE_FUNCTIONS SEQUENCE_EXPANSION_FUNCTIONS
-FACT_FUNCTIONS
-
-END-ENTRY
-
-2IBEGIN-ENTRY-PREDICATE_FUNCTIONS
-
-FUNCTION_SUMMARY
- PREDICATE_FUNCTIONS
-
-The following functions perform predicate tests and return
-either TRUE or FALSE.
-
-NUMBERP: Returns TRUE for integers and floats.
-(numberp <expression>)
-
-FLOATP: Returns TRUE for floats.
-(floatp <expression>)
-
-INTEGERP: Returns TRUE for integers.
-(integerp <expression>)
-
-LEXEMEP: Returns TRUE for symbols and strings.
-(numberp <expression>)
-
-STRINGP: Returns TRUE for strings.
-(stringp <expression>)
-
-SYMBOLP: Returns TRUE for symbols.
-(symbolp <expression>)
-
-EVENP: Returns TRUE for even numbers.
-(evenp <expression>)
-
-ODDP: Returns TRUE for odd numbers.
-(oddp <expression>)
-
-MULTIFIELDP: Returns TRUE for multifield values.
-(multifieldp <expression>)
-
-POINTERP: Returns TRUE for external addresses.
-(pointerp <expression>)
-
-EQ: Returns TRUE if the 1st argument is equal in type and value
- to all subsequent arguments.
-(eq <expression> <expression>+)
-
-NEQ: Returns TRUE if the 1st argument is not equal in type and
- value to all subsequent arguments.
-(neq <expression> <expression>+)
-
-=: Returns TRUE if the 1st argument is equal in value
- to all subsequent arguments.
-(= <numeric-expression> <numeric-expression>+)
-
-<>: Returns TRUE if the 1st argument is not equal in value
- to all subsequent arguments.
-(<> <numeric-expression> <numeric-expression>+)
-
->: Returns TRUE if each argument is greater in value than the
- argument following it.
-(> <numeric-expression> <numeric-expression>+)
-
->=: Returns TRUE if each argument is greater than or equal to
- in value than the argument following it.
-(>= <numeric-expression> <numeric-expression>+)
-
-<: Returns TRUE if each argument is less in value than the
- argument following it.
-(> <numeric-expression> <numeric-expression>+)
-
-<=: Returns TRUE if each argument is less than or equal to
- in value than the argument following it.
-(<= <numeric-expression> <numeric-expression>+)
-
-AND: Returns TRUE if all arguments evaluate to a non-FALSE value.
-(and <expression>+)
-
-OR: Returns TRUE if any argument evaluates to a non-FALSE value.
-(or <expression>+)
-
-NOT: Returns TRUE if its only argument evaluates to FALSE.
-(not <expression>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-MULTIFIELD_FUNCTIONS
-
-FUNCTION_SUMMARY
- MULTIFIELD_FUNCTIONS
-
-The following functions operate on multifield values.
-
-CREATE$: Appends its arguments together to create a multifield value.
-(create$ <expression>*)
-
-NTH$: Returns the specified field of a multifield value.
-(nth$ <integer-expression> <multifield-expression>)
-
-MEMBER$: Returns the position of a single-field value within a multifield
-value.
-(member$ <single-field-expression> <multifield-expression>)
-
-SUBSETP: Returns TRUE if the first argument is a subset of the second
-argument.
-(subsetp <multifield-expression> <multifield-expression>)
-
-DELETE$: Deletes the specified range from a multifield value.
-(delete$ <multifield-expression>
- <begin-integer-expression> <end-integer-expression>)
-
-EXPLODE$: Creates a multifield value from a string.
-(explode$ <string-expression>)
-
-IMPLODE$: Creates a string from a multifield value.
-(implode$ <multifield-expression>)
-
-SUBSEQ$: Extracts the specified range from a multifield value.
-(subseq$ <multifield-expression>
- <begin-integer-expression> <end-integer-expression>)
-
-REPLACE$: Replaces the specified range of a multifield value with a
- set of values.
-(replace$ <multifield-expression>
- <begin-integer-expression> <end-integer-expression>
- <single-or-multifield-expression>+)
-
-INSERT$: Inserts one or more values in a multifield.
-(insert$ <multifield-expression> <integer-expression>
- <single-or-multifield-expression>+)
-
-FIRST$: Returns the first field of a multifield.
-(first$ <multifield-expression>)
-
-REST$: Returns all but the first field of a multifield.
-(rest$ <multifield-expression>)
-
-LENGTH$: Returns the number of fields in a multifield value.
-(length$ <multifield-expression>)
-
-DELETE-MEMBER$: Deletes specific values contained within a multifield
- value and returns the modified multifield value.
-(delete-member$ <multifield-expression> <expression>+)
-
-REPLACE-MEMBER$: Replaces specific values contained within a multifield
- value and returns the modified multifield value.
-(replace-member$ <multifield-expression> <substitute-expression>
- <search-expression>+)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-STRING_FUNCTIONS
-
-FUNCTION_SUMMARY
- STRING_FUNCTIONS
-
-The following functions perform operations that are related to strings.
-
-STR-CAT: Concatenates its arguments to form a single string.
-(str-cat <expression>*)
-
-SYM-CAT: Concatenates its arguments to form a single symbol.
-(sym-cat <expression>*)
-
-SUB-STRING: Retrieves a subportion from a string.
-(sub-string <integer-expression> <integer-expression> <string-expression>)
-
-STR-INDEX: Returns the position of the first argument within the second
- argument.
-(str-index <lexeme-expression> <lexeme-expression>)
-
-EVAL: Evaluates a string as though it were entered at the command prompt.
- Only allows functions to be evaluated.
-(eval <lexeme-expression>)
-
-BUILD: Evaluates a string as though it were entered at the command prompt.
- Only allows constructs to be evaluated.
-(build <lexeme-expression>)
-
-UPCASE: Converts lowercase characters in a string or symbol to uppercase.
-(upcase <lexeme-expression>)
-
-LOWCASE: Converts uppercase characters in a string or symbol to lowercase.
-(lowcase <lexeme-expression>)
-
-STR-COMPARE: Lexigraphically compares two strings.
-(str-compare <lexeme-expression> <lexeme-expression>)
-
-STR-LENGTH: Returns the length of a string.
-(str-length <lexeme-expression>)
-
-CHECK-SYNTAX: Allows the text representation of a construct or function
- call to be checked for syntax and semantic errors.
-(check-syntax <construct-or-function-string>)
-
-STRING-TO-FIELD: Parses a string and converts its contents to a primitive
- data type.
-(string-to-field <string-or-symbol-expression>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-IO_FUNCTIONS
-
-FUNCTION_SUMMARY
- IO_FUNCTIONS
-
-The following functions perform I/O operations.
-
-OPEN: Opens a file.
-(open <file-name> <logical-name> [<mode>])
-<mode> ::= "r" | "w" | "r+" | "a" | "wb"
-
-CLOSE: Closes a file.
-(close [<logical-name>])
-
-PRINTOUT: Sends unformated output to the specified logical name.
-(printout <logical-name> <expresion>*)
-
-READ: Reads a single-field value from the specified logical name.
-(read [<logical-name>])
-
-READLINE: Reads an entire line as a string from the specified
- logical name.
-(readline [<logical-name>])
-
-FORMAT: Sends formated output to the specified logical name.
-(format <logical-name> <string-expression> <expression>*)
-
-RENAME: Changes the name of a file.
-(rename <old-file-name> <new-file-name>)
-
-REMOVE: Deletes a file.
-(remove <file-name>)
-
-END-ENTRY
-
-2MBEGIN-ENTRY-MATH_FUNCTIONS
-
-FUNCTION_SUMMARY
- MATH_FUNCTIONS
-
-The math functions have been divided into three broad categories. The
-basic math functions are always provided with CLIPS. The trigonometric
-and extended math functions are included as part of the extended math
-package.
-
-Subtopics:
-BASIC_MATH_FUNCTIONS EXTENDED_MATH_FUNCTIONS
-TRIGONOMETRIC_FUNCTIONS
-
-END-ENTRY
-
-3IBEGIN-ENTRY-BASIC_MATH_FUNCTIONS
-
-FUNCTION_SUMMARY
- MATH_FUNCTIONS
- BASIC_MATH_FUNCTIONS
-
-The following functions perform basic mathematical operations.
-
-+: Returns the sum of its arguments.
-(+ <numeric-expression> <numeric-expression>+)
-
--: Returns the first argument minus all subsequent arguments.
-(- <numeric-expression> <numeric-expression>+)
-
-*: Returns the product of its arguments.
-(* <numeric-expression> <numeric-expression>+)
-
-/: Returns the first argument divided by all subsequent arguments.
-(/ <numeric-expression> <numeric-expression>+)
-
-DIV: Returns the first argument divided by all subsequent arguments
- using integer division.
-(div <numeric-expression> <numeric-expression>+)
-
-MAX: Returns the value of its largest numeric argument.
-(max <numeric-expression>+)
-
-MIN: Returns the value of its smallest numeric argument.
-(min <numeric-expression>+)
-
-ABS: Returns the absolute value of its only argument.
-(abs <numeric-expression>)
-
-FLOAT: Converts its only argument to a float.
-(float <numeric-expression>)
-
-INTEGER: Converts its only argument to an integer.
-(integer <numeric-expression>)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-TRIGONOMETRIC_FUNCTIONS
-
-FUNCTION_SUMMARY
- MATH_FUNCTIONS
- TRIGONOMETRIC_FUNCTIONS
-
-The following trigonometric functions take one numeric argument
-and return a float. The argument is expected to be in radians.
-These functions are part of the extended math package.
-
-FUNCTION RETURNS
-----------------------------------------
-acos arccosine
-acosh hyperbolic arccosine
-acot arccotangent
-acoth hyperbolic arccotangent
-acsc arccosecant
-acsch hyperbolic arccosecant
-asec arcsecant
-asech hyperbolic arcsecant
-asin arcsine
-asinh hyperbolic arcsine
-atan arctangent
-atanh hyperbolic arctangent
-cos cosine
-cosh hyperbolic cosine
-cot cotangent
-coth hyperbolic tangent
-csc cosecant
-csch hyperbolic cosecant
-sec secant
-sech hyperbolic secant
-sin sine
-sinh hyperbolic sine
-tan tangent
-tanh hyperbolic tangent
-
-END-ENTRY
-
-3IBEGIN-ENTRY-EXTENDED_MATH_FUNCTIONS
-
-FUNCTION_SUMMARY
- MATH_FUNCTIONS
- EXTENDED_MATH_FUNCTIONS
-
-The following functions perform extended mathematical operations
-and are included as part of the extended math package.
-
-DEG-GRAD: Converts its only argument from degrees to gradients.
-(deg-grad <numeric-expression>)
-
-DEG-RAD: Converts its only argument from degrees to radians.
-(deg-rad <numeric-expression>)
-
-GRAD-DEG: Converts its only argument from gradients to degrees.
-(grad-deg <numeric-expression>)
-
-RAD-DEG: Converts its only argument from radians to degrees.
-(rad-deg <numeric-expression>)
-
-PI: Returns the value of pi.
-(pi)
-
-SQRT: Returns the square root of its only argument.
-(sqrt <numeric-expression>)
-
-**: Raises its first argument to the power of its second argument.
-(** <numeric-expression> <numeric-expression>)
-
-EXP: Raises the value e to the power of its only argument.
-(exp <numeric-expression>)
-
-LOG: Returns the logarithm base e of its only argument.
-(log <numeric-expression>)
-
-LOG10: Returns the logarithm base 10 of its only argument.
-(log10 <numeric-expression>)
-
-ROUND: Rounds its argument toward the closest integer or negative
- infinity if exactly between two integers.
-(round <numeric-expression>)
-
-MOD: Returns the remainder of the result of dividing its first argument
- by its second argument (assuming that the result of division must
- be an integer).
-(mod <numeric-expression> <numeric-expression>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-PROCEDURAL_FUNCTIONS
-
-FUNCTION_SUMMARY
- PROCEDURAL_FUNCTIONS
-
-The following are functions which provide procedural programming
-capabilities as found in languages such as Pascal, C, and Ada.
-
-BIND: Binds a variable to a new value.
-(bind <variable> <expression>*)
-
-IF: Allows conditional execution of a group of actions.
-(if <expression> then <action>* [else <action>*])
-
-WHILE: Allows conditional looping.
-(while <expression> [do] <action>*)
-
-LOOP-FOR-COUNT: Allows simple iterative looping.
-(loop-for-count <range-spec> [do] <action>*)
-<range-spec> ::= <end-index> |
- (<loop-variable> [<start-index> <end-index>])
-<start-index> ::= <integer-expression>
-<end-index> ::= <integer-expression>
-
-PROGN: Evaluates all arguments and returns the value of the last
- argument evaluated.
-(progn <expression>*)
-
-PROGN$: Performs a set of actions for each field of a multifield value.
-(progn$ <list-spec> <expression>*)
-<list-spec> ::= <multifield-expression> |
- (<list-variable> <multifield-expression>)
-
-RETURN: Immediately terminates the currently executing deffunction,
- generic function method, message-handler, defrule RHS, or
- certain instance set query functions and if a value is
- specified, returns this value as the result of the executing
- construct.
-(return [<expression>])
-
-BREAK: Immediately terminates the currently iterating while loop,
- progn execution, or certain instance set query functions.
-(break)
-
-SWITCH: Allows a particular group of actions to be performed based
- on a specified value.
-(switch <test-expression>
- <case-statement>*
- [<default-statement>])
-<case-statement> ::= (case <comparison-expression> then <action>*)
-<default-statement> ::= (default <action>*)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-MISCELLANEOUS_FUNCTIONS
-
-FUNCTION_SUMMARY
- MISCELLANEOUS_FUNCTIONS
-
-The following are additional functions for use within CLIPS.
-
-GENSYM: Returns a special sequenced symbol.
-(gensym)
-
-GENSYM*: Returns a special unique sequenced symbol.
-(gensym*)
-
-SETGEN: Sets the starting number used by gensym and gensym*.
-(setgen <integer-expression>)
-
-RANDOM: Returns a "random" integer value.
-(random [<start-integer-expression> <end-integer-expression>])
-
-SEED: Seeds the random number generator used by random.
-(seed <integer-expression>)
-
-TIME: Returns a float representing the elapsed seconds since
- the system reference time.
-(time)
-
-LENGTH: Returns an integer for the number of fields in a multifield value
- or the length in characters of a string or symbol.
-(length <lexeme-or-multifield-expression>)
-
-GET-FUNCTION_RESTRICTIONS: Returns the restriction string associated with
- a CLIPS or user defined function.
-(get-function-restrictions <function-name>)
-
-SORT: Allows a list of values to be sorted based on a user specified
- comparison function.
-(sort <comparison-function-name> <expression>*)
-
-FUNCALL: Constructs a function call from its arguments and then
- evaluates the function call.
-(funcall (function-name> <expression>*)
-
-TIMER: Returns the number of seconds elapsed evaluating a series of
- expressions.
-(timer <expression>*)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFTEMPLATE_FUNCTIONS
-
-The following functions provide ancillary capabilities for the deftemplate
-construct.
-
-GET-DEFTEMPLATE-LIST: Returns the list of all deftemplates in the specified
- module (or the current module if unspecified).
-(get-deftemplate-list [<module-name>])
-
-DEFTEMPLATE-MODULE: Returns the module in which the specified deftemplate is
- defined.
-(deftemplate-module <deftemplate-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-FACT_FUNCTIONS
-
-The following actions are used for assert, retracting, and modifying facts.
-
-ASSERT: Adds a fact to the fact-list.
-(assert <RHS-pattern>+)
-
-RETRACT: Removes a fact from the fact-list.
-(retract <retract-specifier>+ | *)
-<retract-specifier> ::= <fact-specifier> | <integer-expression>
-
-MODIFY: Modifies a deftemplate fact in the fact-list.
-(modify <fact-specifier> <RHS-slot>*)
-
-DUPLICATE: Duplicates a deftemplate fact in the fact-list.
-(duplicate <fact-specifier> <RHS-slot>*)
-
-ASSERT-STRING: Converts a string into a fact and asserts it.
-(assert-string <string-expression>)
-
-FACT-INDEX: Returns the fact index of a fact address.
-(fact-index <fact-address>)
-
-FACT-EXISTP: Returns TRUE if the fact specified by its fact-index or
- fact-address arguments exists, otherwise FALSE.
-(fact-existp <fact-address-or-index>)
-
-FACT-RELATION: Returns the deftemplate (relation) name associated with
- the fact.
-(fact-relation <fact-address-or-index>)
-
-FACT-SLOT-NAMES: Returns the slot names associated with the fact.
-(fact-slot-names <fact-address-or-index>)
-
-FACT-SLOT-VALUE: Returns the value of the specified slot from the
- specified fact.
-(fact-slot-value <fact-address-or-index> <slot-name>)
-
-GET-FACT-LIST: Returns a multifield containing the list of visible facts.
-(get-fact-list [<module-name>])
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFFACTS_FUNCTIONS
-
-The following functions provide ancillary capabilities for the deffacts
-construct.
-
-GET-DEFFACTS-LIST: Returns the list of all deffacts in the specified
- module (or the current module if unspecified).
-(get-deffacts-list [<module-name>])
-
-DEFFACTS-MODULE: Returns the module in which the specified deffacts is
- defined.
-(deffacts-module <deffacts-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFRULE_FUNCTIONS
-
-The following functions provide ancillary capabilities for the defrule
-construct.
-
-GET-DEFRULE-LIST: Returns the list of all defrules in the specified
- module (or the current module if unspecified).
-(get-defrule-list [<module-name>])
-
-DEFRULE-MODULE: Returns the module in which the specified defrule is
- defined.
-(defrule-module <defrule-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-AGENDA_FUNCTIONS
-
-The following functions provide ancillary capabilities for manipulating the
-agenda.
-
-GET-FOCUS: Returns the module name of the current focus.
-(get-focus)
-
-GET-FOCUS-STACK: Returns all of the module names in the focus stack as a
- multifield value.
-(get-focus-stack)
-
-POP-FOCUS: Removes the current focus from the focus stack and returns the
- module name of the current focus.
-(pop-focus)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFGLOBAL_FUNCTIONS
-
-The following functions provide ancillary capabilities for the defglobal
-construct.
-
-GET-DEFGLOBAL-LIST: Returns the list of all defglobals in the specified
- module (or the current module if unspecified).
-(get-defglobal-list [<module-name>])
-
-DEFGLOBAL-MODULE: Returns the module in which the specified defglobal is
- defined.
-(defglobal-module <defglobal-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFFUNCTION_FUNCTIONS
-
-The following functions provide ancillary capabilities for the deffunction
-construct.
-
-GET-DEFFUNCTION-LIST: Returns the list of all deffunctions in the specified
- module (or the current module if unspecified).
-(get-deffunction-list [<module-name>])
-
-DEFFUNCTION-MODULE: Returns the module in which the specified deffunction
- is defined.
-(deffunction-module <deffunction-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-GENERIC_FUNCTION_FUNCTIONS
-
-FUNCTION_SUMMARY
- GENERIC_FUNCTION_FUNCTIONS
-
-The following functions provide ancillary capabilities for generic
-function methods.
-
-GET-DEFGENERIC-LIST: Returns the list of all defgenerics in the specified
- module (or the current module if unspecified).
-(get-defgeneric-list [<module-name>])
-
-DEFGENERIC-MODULE: Returns the module in which the specified defgeneric
- is defined.
-(defgeneric-module <defgeneric-name>)
-
-GET-DEFMETHOD-LIST: Returns the list of all defmethods in the current
- module (or just the methods associated with the
- specified defgeneric).
-(get-defmethod-list [<defgeneric-name>])
-
-TYPE: Returns a symbol which is the name of the type (or class)
- of its of argument.
-(type <expression>)
-
-NEXT-METHODP: If called from a method for a generic function, the function
- next-methodp will return the symbol TRUE if there is another
- method shadowed by the current one. Otherwise, the function
- will return the symbol FALSE.
-(next-methodp)
-
-CALL-NEXT-METHOD: Calls the next shadowed method.
-(call-next-method)
-
-OVERRIDE-NEXT-METHOD: Calls the next shadowed method allowing new
- arguments to be provided.
-(override-next-method <expression>*)
-
-CALL-SPECIFIC-METHOD: Calls a particular method of a generic function without
- regards to method precedence.
-(call-specific-method <generic-function> <method-index> <expression>*)
-
-GET-METHOD-RESTRICTIONS: Returns a multifield value containing information
- about the restrictions for the specified method.
-(get-method-restrictions <generic-function-name> <method-index>)
-
-END-ENTRY
-
-2MBEGIN-ENTRY-COOL_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
-
-The functions manipulating the CLIPS Object-Oriented Language (COOL)
-are divided into five categories.
-
-Subtopics:
-CLASS_FUNCTIONS INSTANCE_SLOT_FUNCTIONS
-INSTANCE_MANIPULATION_FUNCTIONS MESSAGE-HANDLER_FUNCTIONS
-DEFINSTANCES_FUNCTIONS INSTANCE_PREDICATE_FUNCTIONS
-
-END-ENTRY
-
-3IBEGIN-ENTRY-CLASS_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
- CLASS_FUNCTIONS
-
-The following functions are used with classes.
-
-GET-DEFCLASS-LIST: Returns the list of all defclasses in the specified
- module (or the current module if unspecified).
-(get-defclass-list [<module-name>])
-
-DEFCLASS-MODULE: Returns the module in which the specified defclass
- is defined.
-(defclass-module <defclass-name>)
-
-CLASS-EXISTP: Returns TRUE if the specified class is defined, FALSE otherwise.
-(class-existp <class-name>)
-
-SUPERCLASSP: Returns TRUE if the first class is a superclass of
- the second class, FALSE otherwise.
-(superclassp <class1-name> <class2-name>)
-
-SUBCLASSP: Returns TRUE if the first class is a subclass of
- the second class, FALSE otherwise.
-(subclassp <class1-name> <class2-name>)
-
-SLOT-EXISTP: Returns TRUE if the specified slot is present in the class,
- FALSE otherwise. If the inherit keyword is specified, then
- the slot may be inherited.
-(slot-existp <class-name> <slot-name> [inherit])
-
-SLOT-WRITABLEP: Returns TRUE if the specified slot is writable,
- otherwise FALSE.
-(slot-writablep <class-name> <slot-name>)
-
-SLOT-INITABLEP: Returns TRUE if the specified slot is initializable,
- otherwise FALSE.
-(slot-initablep <class-name> <slot-name>)
-
-SLOT-PUBLICP: Returns TRUE if the specified slot is public,
- otherwise FALSE.
-(slot-initablep <class-name> <slot-name>)
-
-SLOT-DIRECT-ACCESSP: Returns TRUE if the specified slot can be accessed
- directly, otherwise FALSE.
-(slot-direct-accessp <class-name> <slot-name>)
-
-MESSAGE-HANDLER-EXISTP: Returns TRUE if the specified message-handler is
- defined (directly, not by inheritance) for the
- class, FALSE otherwise.
-(message-handler-existp <class-name> <handler-name> [<handler-type>])
-<handler-type> ::= around | before | primary | after
-
-CLASS-ABSTRACTP: Returns TRUE if the specified class is abstract,
- FALSE otherwise.
-(class-abstractp <class-name>)
-
-CLASS-REACTIVEP: Returns TRUE if the specified class is reactive,
- FALSE otherwise.
-(class-reactivep <class-name>)
-
-CLASS-SUPERCLASSES: Returns the names of the direct superclasses of a class in
- a multifield variable. If the optional "inherit" argument
- is given, indirect superclasses are also included.
-(class-superclasses <class-name> [inherit])
-
-CLASS-SUBCLASSES: Returns the names of the direct subclasses of a class in a
- multifield variable. If the optional "inherit" argument is
- given, indirect subclasses are also included.
-(class-subclasses <class-name> [inherit])
-
-CLASS-SLOTS: Returns the names of the explicitly defined slots of a class in
- a multifield variable. If the optional inherit keyword is
- given, inherited slots are also included.
-(class-slots <class-name> [inherit])
-
-GET-DEFMESSAGE-HANDLER-LIST: Returns the class names, message names, and
- message types of the message-handlers directly
- attached to a class in a multifield variable. If
- the optional inherit keyword is given, inherited
- message-handlers are also included.
-(get-defmessage-handler-list <class-name> [inherit])
-
-SLOT-FACETS: Returns the facet values for the specified slot of a class in a
- multifield value.
-(slot-facets <class-name> <slot-name>)
-
-SLOT-SOURCES: Returns the names of the classes which provide facets for a
- slot of a class in a multifield variable.
-(slot-sources <class-name> <slot-name>)
-
-SLOT-TYPES: Returns the names of the primitive types allowed for a slot
- in a multifield variable.
-(slot-types <class-name> <slot-name>)
-
-SLOT-CARDINALITY: Returns the minimum and maximum number of fields allowed
- for a multislot in a multifield variable.
-(slot-cardinality <class-name> <slot-name>)
-
-SLOT-ALLOWED-VALUES: Returns the allowed values for a slot in a
- multifield value.
-(slot-allowed-values <class-name> <slot-name>)
-
-SLOT-RANGE: Returns the minimum and maximum numeric values allowed
- for a slot.
-(slot-range <class-name> <slot-name>)
-
-SLOT-DEFAULT-VALUE: Returns the default value associated with a slot.
-(slot-default-value <class-name> <slot-name>)
-
-SET-CLASS-DEFAULTS-MODE: Sets the defaults mode used when classes are
- defined.
-(set-class-defaults-mode <mode>)
-<mode> ::= convenience | conservation
-
-GET-CLASS-DEFAULTS-MODE: Returns the current defaults mode used when
- classes are defined.
-(get-class-defaults-mode)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-MESSAGE-HANDLER_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
- MESSAGE-HANDLER_FUNCTIONS
-
-The following functions are used with message-handlers.
-
-NEXT-HANDLERP: Returns TRUE if there is another message-handler available
- for execution, FALSE otherwise.
-(next-handlerp)
-
-CALL-NEXT-HANDLER: Calls the next shadowed handler.
-(call-next-handler)
-
-OVERRIDE-NEXT-HANDLER: Calls the next shadowed handler and allows the
- arguments to be changed.
-(override-next-handler <expression>*)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-DEFINSTANCES_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
- DEFINSTANCES_FUNCTIONS
-
-The following functions are used with definstances.
-
-GET-DEFINSTANCES-LIST: Returns the list of all definstances in the specified
- module (or the current module if unspecified).
-(get-definstances-list [<module-name>])
-
-DEFINSTANCES-MODULE: Returns the module in which the specified definstance
- is defined.
-(definstances-module <definstances-name>)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-INSTANCE_MANIPULATION_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
- INSTANCE_MANIPULATION_FUNCTIONS
-
-The following manipulation functions are used with instances.
-
-INIT-SLOTS: Implements the init message-handler attached to the class
- USER. This function should never be called directly unless
- an init message-handler is being defined such that the one
- attached to USER will never be called.
-(init-slots)
-
-UNMAKE-INSTANCE: Deletes the specified instance by sending it
- the delete message.
-(unmake-instance <instance-expression> | *)
-
-DELETE-INSTANCE: Deletes the active instance when called from within
- the body of a message-handler.
-(delete-instance)
-
-CLASS: Returns a symbol which is the name of the class of its argument.
-(class <object-expression>)
-
-INSTANCE-NAME: Returns a symbol which is the name of its instance argument.
-(instance-name <instance-expression>)
-
-INSTANCE-ADDRESS: Returns the address of its instance argument.
-(instance-address <instance-expression>)
-
-SYMBOL-TO-INSTANCE-NAME: Converts a symbol to an instance name.
-(symbol-to-instance-name <symbol-expression>)
-
-INSTANCE-NAME-TO-SYMBOL: Converts an instance name to a symbol.
-(instance-name-to-symbol <instance-name-expression>)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-INSTANCE_PREDICATE_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
- INSTANCE_PREDICATE_FUNCTIONS
-
-The following predicate functions are used with instances.
-
-INSTANCEP: Returns TRUE if its argument is an instance name or instance
- address, FALSE otherwise.
-(instancep <expression>)
-
-INSTANCE-ADDRESSP: Returns TRUE if its argument is an instance address,
- FALSE otherwise.
-(instance-addressp <expression>)
-
-INSTANCE-NAMEP: Returns TRUE if its argument is an instance name,
- FALSE otherwise.
-(instance-namep <expression>)
-
-INSTANCE-EXISTP: Returns TRUE if the specified instance exists,
- FALSE otherwise.
-(instance-existp <instance-expression>)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-INSTANCE_SLOT_FUNCTIONS
-
-FUNCTION_SUMMARY
- COOL_FUNCTIONS
- INSTANCE_SLOT_FUNCTIONS
-
-The following functions are used to manipulate instance slots.
-
-DYNAMIC-GET: Returns the value of the specified slot of the active instance.
-(dynamic-get <slot-name-expression>)
-
-DYNAMIC-PUT: Sets the value of the specified slot of the active instance.
-(put <slot-name-expression> <expression>*)
-
-SLOT-REPLACE$: Allows the replacement of a range of fields in a multifield
- slot value.
-(slot-replaceR <instance-expression> <mv-slot-name>
- <range-begin> <range-end> <expression>+)
-
-DIRECT-SLOT-REPLACE$: Allows the replacement of a range of fields in a
- multifield slot value of the active instance from
- within a message-handler.
-(direct-slot-replace$ <mv-slot-name> <range-begin> <range-end> <expression>+)
-
-SLOT-INSERT$: Allows the insertion of one or more values in a multifield
- slot value.
-(slot-insert$ <instance-expression> <mv-slot-name> <index> <expression>+)
-
-DIRECT-SLOT-INSERT$: Allows the insertion of one or more values in a
- multifield slot value of the active instance from
- within a message-handler.
-(direct-slot-insert$ <mv-slot-name> <index> <expression>+)
-
-SLOT-DELETE$: Allows the deletion of a range of fields in a multifield
- slot value.
-(slot-delete$ <instance-expression> <mv-slot-name> <range-begin> <range-end>)
-
-DIRECT-SLOT-DELETE$: Allows the deletion of a range of fields in a multifield
- slot value of the active instance from within a
- message-handler.
-(direct-slot-delete$ <mv-slot-name> <range-begin> <range-end>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFMODULE_FUNCTIONS
-
-The following functions provide ancillary capabilities for the defmodule
-construct.
-
-GET-DEFMODULE-LIST: Returns the list of all defmodules.
-(get-defmodule-list)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-SEQUENCE_EXPANSION_FUNCTIONS
-
-The following functions provide ancillary capabilities for the sequence
-expansion operator.
-
-EXPAND$: When used inside of a function call, expands its arguments
- as separate arguements to the function. The $ operator is
- merely a shorthand notation for the expand$ function call.
-(expand$; <multifield-expression>)
-
-SET-SEQUENCE-OPERATOR-RECOGNITION: Sets the sequence operator recognition
- behavior.
-(set-sequence-operator-recognition; <boolean-expression>)
-
-GET-SEQUENCE-OPERATOR-RECOGNITION: Returns the current value of the sequence
- operator recognition behavior.
-(get-sequence-operator-recognition)
-
-END-ENTRY
-
-1MBEGIN-ENTRY-COMMAND_SUMMARY
-
-COMMAND_SUMMARY
-
-This section gives a general overview of the available CLIPS commands.
-
-Subtopics:
-ENVIRONMENT_COMMANDS DEFFUNCTION_COMMANDS
-DEBUGGING_COMMANDS GENERIC_FUNCTION_COMMANDS
-DEFTEMPLATE_COMMANDS COOL_COMMANDS
-FACT_COMMANDS DEFMODULE_COMMANDS
-DEFFACTS_COMMANDS MEMORY_COMMANDS
-DEFRULE_COMMANDS TEXT_PROCESSING_COMMANDS
-AGENDA_COMMANDS PROFILING_COMMANDS
-DEFGLOBAL_COMMANDS
-
-END-ENTRY
-
-2IBEGIN-ENTRY-ENVIRONMENT_COMMANDS
-
-COMMAND_SUMMARY
- ENVIRONMENT_COMMANDS
-
-The following commands control the CLIPS environment.
-
-LOAD: Loads constructs from a file.
-(load <file-name>)
-
-LOAD*: Loads constructs from a file without displaying informational
- messages.
-(load* <file-name>)
-
-SAVE: Saves constructs to a file.
-(save <file-name>)
-
-BLOAD: Loads a binary image from a file.
-(bload <file-name>)
-
-BSAVE: Saves a binary image to a file.
-(bsave <file-name>)
-
-CLEAR: Clears the CLIPS environment.
-(clear)
-
-EXIT: Exits the CLIPS environment.
-(exit)
-
-RESET: Resets the CLIPS environment.
-(reset)
-
-BATCH: Executes commands from a file.
-(batch <file-name>)
-
-BATCH*: Executes commands from a file. Unlike the batch command,
- evaluates all of the commands in the specified file before
- returning rather than replacing standard input.
-(batch* <file-name>)
-
-OPTIONS: Lists the settings of CLIPS compiler flags.
-(options)
-
-SYSTEM: Appends its arguments together to form a command which is
- then sent to the operating system.
-(system <lexeme-expression>*)
-
-SET-AUTO-FLOAT-DIVIDEND: Sets the auto-float dividend behaviour.
-(set-auto-float-dividend <boolean-expression>)
-
-GET-AUTO-FLOAT-DIVIDEND: Returns the current value of the auto-float
- dividend behaviour.
-(get-auto-float-dividend)
-
-SET-DYNAMIC-CONSTRAINT-CHECKING: Sets the dynamic constraint checking
- behaviour.
-(set-dynamic-constraint-checking <boolean-expression>)
-
-GET-DYNAMIC-CONSTRAINT-CHECKING: Returns the current value of the dynamic
- constraint checking behaviour.
-(get-dynamic-constraint-checking)
-
-SET-STATIC-CONSTRAINT-CHECKING: Sets the static constraint checking
- behaviour.
-(set-static-constraint-checking <boolean-expression>)
-
-GET-STATIC-CONSTRAINT-CHECKING: Returns the current value of the static
- constraint checking behaviour.
-(get-static-constraint-checking)
-
-APROPOS: Displays all symbols currently defined in CLIPS which contain
- a specified substring
-(apropos <lexeme>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEBUGGING_COMMANDS
-
-COMMAND_SUMMARY
- DEBUGGING_COMMANDS
-
-The following commands control the CLIPS debugging features.
-
-DRIBBLE-ON: Sends trace information to the specified file.
-(dribble-on <file-name>)
-
-DRIBBLE-OFF: Closes the trace file.
-(dribble-off)
-
-WATCH: Enables trace information for the specified item.
-(watch <watch-item>)
-<watch-item> ::= all |
- compilations |
- statistics |
- focus |
- messages |
- deffunctions <deffunction-name>* |
- globals <global-name>* |
- rules <rule-name>* |
- activations <rule-name>* |
- facts <deftemplate-name>* |
- instances <class-name>* |
- slots <class-name>* |
- message-handlers <handler-spec-1>* [<handler-spec-2>]) |
- generic-functions <generic-name>* |
- methods <method-spec-1>* [<method-spec-2>]
-
-<handler-spec-1> ::= <class-name> <handler-name> <handler-type>
-<handler-spec-2> ::= <class-name> [<handler-name> [<handler-type>]]
-
-<method-spec-1> ::= <generic-name> <method-index>
-<method-spec-2> ::= <generic-name> [<method-index>]
-
-UNWATCH: Disables trace information for the specified item.
-(unwatch <watch-item>)
-
-LIST-WATCH-ITEMS: Displays the current state of watch items.
-(list-watch-items [<watch-item>])
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFTEMPLATE_COMMANDS
-
-COMMAND_SUMMARY
- DEFTEMPLATE_COMMANDS
-
-The following commands manipulate deftemplates.
-
-PPDEFTEMPLATE: Displays the text of a given deftemplate.
-(ppdeftemplate <deftemplate-name>)
-
-LIST-DEFTEMPLATES: Displays the list of all deftemplates in the specified
- module (or the current module if none specified).
-(list-deftemplates [<module-name>])
-
-UNDEFTEMPLATE: Deletes a deftemplate.
-(undeftemplate <deftemplate-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-FACT_COMMANDS
-
-COMMAND_SUMMARY
- FACT_COMMANDS
-
-The following commands display information about facts.
-
-FACTS: Display the facts in the fact-list.
-(facts [<module-name>]
- [<start-integer-expression>
- [<end-integer-expression>
- [<max-integer-expression>]]])
-
-LOAD-FACTS: Asserts facts loaded from a file.
-(load-facts <file-name>)
-
-SAVE-FACTS: Saves facts to a file.
-(save-facts <file-name> [<save-scope> <deftemplate-names>*])
-<save-scope> ::= visible | local
-
-DEPENDENCIES: Lists the partial matches from which a fact or
- instance receives logical support.
-(dependencies <fact-or-instance-specifier>)
-
-DEPENDENTS: Lists all facts or instances which receive logical support
- from a fact or instance.
-(dependents <fact-or-instance-specifier>)
-
-SET-FACT-DUPLICATION: Sets the fact duplication behavior.
-(set-fact-duplication <boolean-expression>)
-
-GET-FACT-DUPLICATION: Returns the fact duplication behavior.
-(get-fact-duplication)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFFACTS_COMMANDS
-
-COMMAND_SUMMARY
- DEFFACTS_COMMANDS
-
-The following commands manipulate deffacts.
-
-PPDEFFACTS: Displays the text of a given deffacts.
-(ppdeffacts <deffacts-name>)
-
-LIST-DEFFACTS: Displays the list of all deffacts in the specified
- module (or the current module if none specified).
-(list-deffacts [<module-name>])
-
-UNDEFFACTS: Deletes a deffacts.
-(undeffacts <deffacts-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFRULE_COMMANDS
-
-COMMAND_SUMMARY
- DEFRULE_COMMANDS
-
-The following commands manipulate defrules.
-
-PPDEFRULE: Displays the text of a given rule.
-(ppdefrule <rule-name>)
-
-LIST-DEFRULES: Displays the list of all defrules in the specified
- module (or the current module if none specified).
-(list-defrules [<module-name>])
-
-UNDEFRULE: Deletes a defrule.
-(undefrule <rule-name>)
-
-MATCHES: Displays the facts which match the patterns of a rule.
-(matches <rule-name>)
-
-SET-BREAK: Sets a breakpoint on a rule.
-(set-break <rule-name>)
-
-REMOVE-BREAK: Removes a breakpoint on a rule.
-(remove-break [<rule-name>])
-
-SHOW-BREAKS: Displays all rules having breakpoints.
-(show-breaks [<module-name>])
-
-REFRESH: Places all current activations of a rule on the agenda.
-(refresh <rule-name>)
-
-SET-INCREMENTAL-RESET: Sets the incremental reset behavior.
-(set-incremental-reset <boolean-expression>)
-
-GET-INCREMENTAL-RESET: Returns the incremental reset behavior.
-(get-incremental-reset)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-AGENDA_COMMANDS
-
-COMMAND_SUMMARY
- AGENDA_COMMANDS
-
-The following commands manipulate the agenda.
-
-AGENDA: Displays all activations on the agenda of the specified module.
-(agenda [<module-name>])
-
-RUN: Starts execution of rules. Rules fire until agenda is empty or
- the number of rule firings limit specified by the first argument
- is reached (infinity if unspecified).
-(run [<integer-expression>])
-
-FOCUS: Pushes one or more modules onto the focus stack.
-(focus <module-name>+)
-
-HALT: Stops rule execution.
-(halt)
-
-SET-STRATEGY: Sets the current conflict resolution strategy.
-(set-strategy <strategy>)
-<strategy> ::= depth | breadth | simplicity | complexity | lex | mea | random
-
-GET-STRATEGY: Returns the current conflict resolution strategy.
-(get-strategy)
-
-LIST-FOCUS-STACK: Lists all module names on the focus stack.
-(list-focus-stack)
-
-CLEAR-FOCUS-STACK: Removes all modules from the focus stack.
-(clear-focus-stack)
-
-SET-SALIENCE-EVALUATION: Sets the salience evaluation behavior.
-(set-salience-evaluation <behavior>)
-<behavior> ::= when-defined | when-activated | every-cycle
-
-GET-SALIENCE-EVALUATION: Returns the salience evaluation behavior.
-(get-salience-evaluation)
-
-REFRESH-AGENDA: Forces reevaluation of salience of rules on the agenda
- of the specified module.
-(refresh-agenda [<module-name>])
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFGLOBAL_COMMANDS
-COMMAND_SUMMARY
- DEFGLOBAL_COMMANDS
-
-The following commands manipulate defglobals.
-
-PPDEFGLOBAL: Displays the text required to define a given global variable.
-(ppdefglobal <global-variable-name>)
-
-LIST-DEFGLOBALS: Displays the list of all defglobals in the specified
- module (or the current module if none specified).
-(list-defglobals [<module-name>])
-
-UNDEFGLOBAL: Deletes a global variable.
-(undefglobal <global-variable-name>)
-
-SHOWS-DEFGLOBALS: Displays the name and current value of all defglobals
- in the specified module (or the current module if none
- specified).
-(show-defglobals [<module-name>])
-
-SET-RESET-GLOBALS: Sets the reset global variables behavior.
-(set-reset-globals <boolean-expression>)
-
-GET-RESET-GLOBALS: Returns the reset global variables behavior.
-(get-reset-globals)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFFUNCTION_COMMANDS
-
-COMMAND_SUMMARY
- DEFFUNCTION_COMMANDS
-
-The following commands manipulate deffunctions.
-
-PPDEFFUNCTION: Displays the text of a given deffunction.
-(ppdeffunction <deffunction-name>)
-
-LIST-DEFFUNCTIONS: Displays the list of all deffunctions in the specified
- module (or the current module if none specified).
-(list-deffunctions [<deffunction-name>])
-
-UNDEFFUNCTION: Deletes a deffunction.
-(undeffunction <deffunction-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-GENERIC_FUNCTION_COMMANDS
-
-COMMAND_SUMMARY
- GENERIC_FUNCTION_COMMANDS
-
-The following commands manipulate generic functions.
-
-PPDEFGENERIC: Displays the text of a given generic function header.
-(ppdefgeneric <generic-function-name>)
-
-PPDEFMETHOD: Displays the text of a given method.
-(ppdefmethod <generic-function-name> <index>)
-
-LIST-DEFGENERICS: Displays the names of all generic functions in the specified
- module (or the current module if none specified).
-(list-defgenerics [<module-name>])
-
-LIST-DEFMETHODS: Displays a list of generic function methods.
-(list-defmethods [<generic-function-name>])
-
-UNDEFGENERIC: Deletes a generic function.
-(undefgeneric <generic-function-name>)
-
-UNDEFMETHOD: Deletes a generic function method.
-(undefmethod <generic-function-name> <index>)
-
-PREVIEW-GENERIC: Lists all applicable methods for a particular generic
- function call in order of decreasing precedence.
-(preview-generic <generic-function-name> <expression>*)
-
-END-ENTRY
-
-2MBEGIN-ENTRY-COOL_COMMANDS
-
-COMMAND_SUMMARY
- COOL_COMMANDS
-
-The commands manipulating the CLIPS Object-Oriented Language (COOL)
-are divided into four categories.
-
-Subtopics:
-CLASS_COMMANDS MESSAGE-HANDLER_COMMANDS
-DEFINSTANCES_COMMANDS INSTANCES_COMMANDS
-
-END-ENTRY
-
-3IBEGIN-ENTRY-CLASS_COMMANDS
-
-COMMAND_SUMMARY
- COOL_COMMANDS
- CLASS_COMMANDS
-
-The following commands manipulate defclasses.
-
-PPDEFCLASS: Displays the text of a given defclass.
-(ppdefclass <class-name>)
-
-LIST-DEFCLASSES: Displays the list of all defclasses in the specified
- module (or the current module if none specified).
-(list-defclasses [<module-name>])
-
-UNDEFCLASS: Deletes a defclass, all its subclasses, and all
- associated instances.
-(undefclass <class-name>)
-
-DESCRIBE-CLASS: Provides a verbose description of a class.
-(describe-class <class-name>)
-
-BROWSE-CLASSES: Provides a rudimentary display of the inheritance
- relationships between a class and all its subclasses.
-(browse-classes [<class-name>])
-
-END-ENTRY
-
-3IBEGIN-ENTRY-MESSAGE-HANDLER_COMMANDS
-
-COMMAND_SUMMARY
- COOL_COMMANDS
- MESSAGE-HANDLER_COMMANDS
-
-The following commands manipulate defmessage-handlers. Note that
-<handler-type> is defined as follows:
-
-<handler-type> ::= around | before | primary | after
-
-PPDEFMESSAGE-HANDLER: Displays the text of a given defmessage-handler.
-(ppdefmessage-handler <class-name> <handler-name> [<handler-type>])
-
-LIST-DEFMESSAGE-HANDLERS: Displays a list of all (or some) defmessage-
-handlers.
-(list-defmessage-handlers [<class-name> [<handler-name> [<handler-type>]]])
-
-UNDEFMESSAGE-HANDLER: Deletes a defmessage-handler.
-(undefmessage-handler <class-name> <handler-name> [<handler-type>])
-
-PREVIEW-SEND: Displays a list of all the applicable message-handlers for
- a message sent to an instance of a particular class.
-(preview-send <class-name> <message-name>)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-DEFINSTANCES_COMMANDS
-
-COMMAND_SUMMARY
- COOL_COMMANDS
- DEFINSTANCES_COMMANDS
-
-The following commands manipulate definstances.
-
-PPDEFINSTANCES: Displays the text of a given definstances.
-(ppdefinstances <definstances-name>)
-
-LIST-DEFINSTANCES: Displays the list of all definstances in the specified
- module (or the current module if none specified).
-(list-definstances [<module-name>])
-
-UNDEFINSTANCES: Deletes a definstances.
-(undefinstances <definstances-name>)
-
-END-ENTRY
-
-3IBEGIN-ENTRY-INSTANCES_COMMANDS
-
-COMMAND_SUMMARY
- COOL_COMMANDS
- INSTANCES_COMMANDS
-
-The following commands manipulate instances of user-defined classes.
-
-INSTANCES: Displays a list of instances.
-(instances [<module-name> [<class-name> [inherit]]])
-
-PPINSTANCE: Prints the slots of the active instance when called from
- within the body of a message-handler.
-(ppinstance)
-
-SAVE-INSTANCES: Saves all instances to the specified file.
-(save-instances <file-name>)
-
-LOAD-INSTANCES: Loads instances from the specified file.
-(load-instances <file-name>)
-
-RESTORE-INSTANCES: Loads instances from the specified file.
-(restore-instances <file-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-DEFMODULE_COMMANDS
-
-COMMAND_SUMMARY
- DEFMODULE_COMMANDS
-
-The following commands manipulate defmodules.
-
-PPDEFMODULE: Displays the text of a given defmodule.
-(ppdefmodule <defmodule-name>)
-
-LIST-DEFMODULES: Displays the list of all defmodules.
-(list-defmodules)
-
-SET-CURRENT-MODULE: Sets the current module.
-(set-current-module <module-name>)
-
-GET-CURRENT-MODULE: Returns the current module.
-(get-current-module)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-MEMORY_COMMANDS
-
-COMMAND_SUMMARY
- MEMORY_COMMANDS
-
-The following commands display CLIPS memory status information.
-
-MEM-USED: Returns number of bytes of memory CLIPS is using.
-(mem-used)
-
-MEM-REQUESTS: Returns the number of times CLIPS has requested memory
- from the operating system.
-(mem-requests)
-
-RELEASE-MEM: Releases all free memory held internally by CLIPS by to
- the operating system. Returns the amount of memory freed.
-(release-mem)
-
-CONSERVE-MEM: Turns on or off the storage of information used for the
- save and pretty-print commands.
-(conserve-mem <status>)
-<status> ::= on | off
-
-END-ENTRY
-
-2IBEGIN-ENTRY-TEXT_PROCESSING_COMMANDS
-
-COMMAND_SUMMARY
- TEXT_PROCESSING_COMMANDS
-
-The following commands can be used by users to maintain their own
-information system similar to the help facility.
-
-FETCH: Loads the named file into the internal lookup table.
-(fetch <file-name>)
-
-PRINT-REGION: Looks up the specified entry in a particular file which has
- been previously loaded into the lookup table and prints the
- contents of that entry to the specified logical name.
-(print-region <logical-name> <lookup-file> <topic-field>*)
-
-TOSS: Unloads the named file from the internal lookup table.
-(toss <file-name>)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-PROFILING_COMMANDS
-
-COMMAND_SUMMARY
- PROFILING_COMMANDS
-
-The following commands provide the ability to profile CLIPS programs
-for performance.
-
-SET-PROFILE-PERCENT-THRESHOLD: Sets the minimum percentage of time that
- must be spent executing a construct or user
- function for it to be displayed by the
- profile-info command.
-(set-profile-percent-threshold <number in the range 0 to 100>)
-
-GET-PROFILE-PERCENT-THRESHOLD: Returns the current value of the
- profile percent threshold.
-(get-profile-percent-threshold)
-
-PROFILE-RESET: Resets all profiling information currently collected
- for constructs and user functions.
-(profile-reset)
-
-PROFILE-INFO: Displays profiling information currently collected for
- constructs or user functions.
-(profile-info)
-
-PROFILE: Enables/disables profiling of constructs and user
- functions.
-(profile constructs | user-functions | off)
-
-END-ENTRY
-
-1MBEGIN-ENTRY-INTEGRATED_EDITOR
-
-INTEGRATED_EDITOR
-
-CLIPS includes a fully integrated version of the full screen MicroEMACS
-editor. You may call the editor from CLIPS, compile full buffers or just
-sections of the editor (incremental compile), temporarily exit the editor back
-to CLIPS, or permanently exit the editor. Since the editor is full screen,
-portions of it are highly machine dependent. As it is currently set up, the
-editor will run on VAX VMS machines using VT100- or VT240-compatible
-terminals, UNIX systems which support TERMCAP, the IBM PC, and most IBM
-compatibles.
-
-Subtopics:
-USING_THE_EDITOR EXTENDED_COMMANDS
-CONTROL_COMMANDS META_COMMANDS
-
-END-ENTRY
-
-2IBEGIN-ENTRY-USING_THE_EDITOR
-
-INTEGRATED_EDITOR
- USING_THE_EDITOR
-
-The editor may be called from CLIPS with the following command:
-
- (edit ["<file-name>"])
-
-The file name is optional. If one is given, that file would be loaded. If no
-file name is given, the editor is entered without loading a file. Once in the
-file, all of the EMACS commands listed below are applicable. To exit the
-editor and clear all buffers, use <Ctrl-Z> or <Ctrl-X><Ctrl-C>. To
-temporarily exit the editor and retain the information in the buffers, use
-<Ctrl-X> Q. To compile a rules section, mark a region and type
-<Ctrl-X><Ctrl-T>. To compile the entire buffer, use <Meta-T>. The editor can
-use extensive amounts of memory and a flag is available in clips.h to remove
-all of the editor code.
-
-When using the editor on multiuser machines like the VAX or many UNIX
-environments, be careful with the control S and control Q commands; they could
-conflict with terminal XON/XOFF communications. All of the control S commands
-have a work around built into the editor. The save file command, normally
-<Ctrl-X><Ctrl-S>, is also <Meta> Z. The forward search command, normally
-<Ctrl-S>, is also <Meta> J. The control Q command is rarely needed in a CLIPS
-file and, therefore, has no substitute.
-
-The following two special characters should be noted when using the editor.
-
- <del> Delete previous character.
- (also <ctrl-H> on some terminals)
- <esc> Meta command prefix.
- (also <ctrl-[> on some terminals)
-
-END-ENTRY
-
-2IBEGIN-ENTRY-CONTROL_COMMANDS
-
-INTEGRATED_EDITOR
- CONTROL_COMMANDS
-
-These commands are entered by pressing the control key along with the
-designated character.
-
- <ctrl-@> Set mark at current position.
- <ctrl-A> Move cursor to beginning of line.
- <ctrl-B> Move cursor BACK one character.
- <ctrl-C> Start a new interactive command shell. Be careful!
- <ctrl-D> DELETE character under cursor.
- <ctrl-E> Move cursor to END of line.
- <ctrl-F> Move cursor FORWARD one character.
- <ctrl-G> Abort any command.
- <ctrl-H> (backspace) delete previous character.
- <ctrl-I> Insert a TAB.
- <ctrl-J> Insert a CR-LF and indent next line.
- <ctrl-K> KILL (delete) to end of line.
- <ctrl-L> Redisplay screen.
- <ctrl-M> Insert a CR-LF.
- <ctrl-N> Move cursor to NEXT line.
- <ctrl-O> OPEN a new line.
- <ctrl-P> Move to PREVIOUS line.
- <ctrl-Q> QUOTE the next character (insert the next character typed).
- <ctrl-R> Reverse SEARCH.
- <ctrl-S> Forward SEARCH (also <Meta-J>).
- <ctrl-T> TRANSPOSE characters.
- <ctrl-U> Enter repeat count for next command.
- <ctrl-V> VIEW the next screen (scroll up one screen).
- <ctrl-W> KILL region (all text between cursor and last mark set).
- <ctrl-X> Extended command prefix - see below.
- <ctrl-Y> YANK (undelete) last text killed.
- <ctrl-Z> Quick save of file in current buffer (only) and exit.
-
-END-ENTRY
-
-2IBEGIN-ENTRY-EXTENDED_COMMANDS
-
-INTEGRATED_EDITOR
- EXTENDED_COMMANDS
-
-These commands are entered by first pressing the control key along with the
-'x' character and then pressing the designated character.
-
- <ctrl-X>( Begin keyboard Macro.
- <ctrl-X>) End keyboard Macro.
- <ctrl-X>! Execute a single external command.
- <ctrl-X>= Show current cursor column and line number.
- <ctrl-X>: Go to a specific line number.
- <ctrl-X>1 Display current window only.
- <ctrl-X>2 Split the current window.
- <ctrl-X>B Switch to a different BUFFER.
- <ctrl-X>E EXECUTE keyboard Macro.
- <ctrl-X>F Set FILL column.
- <ctrl-X>K KILL a buffer (other than current buffer).
- <ctrl-X>M MATCH parenthesis (or {} or []).
- <ctrl-X>N Move to NEXT window.
- <ctrl-X>P Move to PREVIOUS window.
- <ctrl-X>R Global search and REPLACE (backwards).
- <ctrl-X>S Global SEARCH and replace (forwards).
- <ctrl-X>Z Enlarge current window by repeat count <ctrl-U> lines.
-
- <ctrl-X><ctrl-B> Show active BUFFERS.
- <ctrl-X><ctrl-C> Exit without saving buffers.
- <ctrl-X><ctrl-F> FIND file. Load if not already in buffer.
- <ctrl-X><ctrl-N> Scroll current window up by repeat count lines.
- <ctrl-X><ctrl-P> Scroll current window down by repeat count lines.
- <ctrl-X><ctrl-R> RENAME file. Change file name for buffer.
- <ctrl-X><ctrl-S> SAVE (write) current buffer into its file.
- <ctrl-X><ctrl-V> VISIT a file. Read file and display in current window.
- <ctrl-X><ctrl-W> WRITE buffer to file. Option to change name of file.
- <ctrl-X><ctrl-Z> Reduce current window by repeat count lines.
-
-END-ENTRY
-
-2IBEGIN-ENTRY-META_COMMANDS
-
-INTEGRATED_EDITOR
- META_COMMANDS
-
-These commands are entered by first pressing the meta key (Activated by <esc>
-or <ctrl-[>) and then pressing the designated character.
-
- <meta>! Move current line to repeat count lines from top of
- window.
- <meta>> Move cursor to end of buffer.
- <meta>< Move cursor to beginning of buffer.
- <meta>. Set mark.
- <meta>B Move cursor BACK one word.
- <meta>C CAPITALIZE first letter of word.
- <meta>D DELETE next word.
- <meta>F Move cursor FORWARD one word.
- <meta>J SEARCH forward (same as <ctrl-S>).
- <meta>L LOWERCASE (lowercase) next word.
- <meta>R Query search and REPLACE (backwards).
- <meta>S Query SEARCH and replace (forwards).
- <meta>U UPPERCASE (uppercase) next word.
- <meta>V VIEW the previous screen (scroll down one screen).
- <meta>W COPY region into kill buffer.
- <meta>Z SAVE current buffer into file (same as
- <ctrl-X><ctrl-S>).
- <meta><del> DELETE previous word.
-
-END-ENTRY
-
-
-