]> git.pld-linux.org Git - packages/clips.git/commitdiff
e6429bcd668b085038179cf54764436a clips.hlp
authorMichal Moskal <michal@moskal.me>
Wed, 10 Apr 2002 09:10:45 +0000 (09:10 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    clips.hlp -> 1.1

clips.hlp [new file with mode: 0644]

diff --git a/clips.hlp b/clips.hlp
new file mode 100644 (file)
index 0000000..1ff5caf
--- /dev/null
+++ b/clips.hlp
@@ -0,0 +1,2417 @@
+
+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
+
+
+
This page took 0.138848 seconds and 4 git commands to generate.