TRUE
CLIPS> (batch "class.bat")
TRUE
CLIPS> (describe-class OBJECT)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses:
Inheritance Precedence: OBJECT
Direct Subclasses: PRIMITIVE USER
********************************************************************************
================================================================================
CLIPS> (describe-class USER)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: OBJECT
Inheritance Precedence: USER OBJECT
Direct Subclasses: doc-test A1 A2 A3 A4 A5 A6 A7 A8 A9 GLOBAL-TEST
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
********************************************************************************
================================================================================
CLIPS> (describe-class PRIMITIVE)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: OBJECT
Inheritance Precedence: PRIMITIVE OBJECT
Direct Subclasses: NUMBER LEXEME MULTIFIELD ADDRESS INSTANCE
********************************************************************************
================================================================================
CLIPS> (describe-class MULTIFIELD)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: PRIMITIVE
Inheritance Precedence: MULTIFIELD PRIMITIVE OBJECT
Direct Subclasses:
********************************************************************************
================================================================================
CLIPS> (describe-class NUMBER)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: PRIMITIVE
Inheritance Precedence: NUMBER PRIMITIVE OBJECT
Direct Subclasses: INTEGER FLOAT
********************************************************************************
================================================================================
CLIPS> (describe-class EXTERNAL-ADDRESS)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: ADDRESS
Inheritance Precedence: EXTERNAL-ADDRESS ADDRESS PRIMITIVE OBJECT
Direct Subclasses:
********************************************************************************
================================================================================
CLIPS> (describe-class LEXEME)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: PRIMITIVE
Inheritance Precedence: LEXEME PRIMITIVE OBJECT
Direct Subclasses: SYMBOL STRING
********************************************************************************
================================================================================
CLIPS> (describe-class INTEGER)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: NUMBER
Inheritance Precedence: INTEGER NUMBER PRIMITIVE OBJECT
Direct Subclasses:
********************************************************************************
================================================================================
CLIPS> (describe-class FLOAT)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: NUMBER
Inheritance Precedence: FLOAT NUMBER PRIMITIVE OBJECT
Direct Subclasses:
********************************************************************************
================================================================================
CLIPS> (describe-class SYMBOL)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: LEXEME
Inheritance Precedence: SYMBOL LEXEME PRIMITIVE OBJECT
Direct Subclasses:
********************************************************************************
================================================================================
CLIPS> (describe-class STRING)
================================================================================
********************************************************************************
Abstract: direct instances of this class cannot be created.
Direct Superclasses: LEXEME
Inheritance Precedence: STRING LEXEME PRIMITIVE OBJECT
Direct Subclasses:
********************************************************************************
================================================================================
CLIPS> (list-defclasses)
FLOAT
INTEGER
SYMBOL
STRING
MULTIFIELD
EXTERNAL-ADDRESS
FACT-ADDRESS
INSTANCE-ADDRESS
INSTANCE-NAME
OBJECT
PRIMITIVE
NUMBER
LEXEME
ADDRESS
INSTANCE
USER
doc-test
A1
B1
A2
A3
A4
A5
A6
A7
B7
A8
B8
C8
A9
B9
GLOBAL-TEST
For a total of 32 defclasses.
CLIPS> (describe-class A1)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: USER
Inheritance Precedence: A1 USER OBJECT
Direct Subclasses: B1
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
fooA : SGL STC INH RW LCL RCT EXC PRV RW put-fooA A1
barA : SGL STC INH RW LCL RCT EXC PRV RW put-barA A1
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
fooA : + + + + + + + + RNG:[-oo..+oo]
barA : + + + + + + + + RNG:[-oo..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-fooA primary in class A1
put-fooA primary in class A1
get-barA primary in class A1
put-barA primary in class A1
********************************************************************************
================================================================================
CLIPS> (describe-class B1)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: A1
Inheritance Precedence: B1 A1 USER OBJECT
Direct Subclasses:
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
fooA : SGL STC INH RW LCL RCT EXC PRV RW put-fooA A1
barA : SGL STC INH RW LCL RCT EXC PRV RW put-barA A1
fooB : SGL STC INH RW LCL RCT EXC PRV RW put-fooB B1
barB : SGL STC INH RW LCL RCT EXC PRV RW put-barB B1
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
fooA : + + + + + + + + RNG:[-oo..+oo]
barA : + + + + + + + + RNG:[-oo..+oo]
fooB : + + + + + + + + RNG:[-oo..+oo]
barB : + + + + + + + + RNG:[-oo..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-fooA primary in class A1
put-fooA primary in class A1
get-barA primary in class A1
put-barA primary in class A1
get-fooB primary in class B1
put-fooB primary in class B1
get-barB primary in class B1
put-barB primary in class B1
********************************************************************************
================================================================================
CLIPS> (make-instance a21 of A2)
[a21]
CLIPS> (make-instance a22 of A2)
[a22]
CLIPS> (send [a21] print)
[a21] of A2
(foo gen2)
(bar gen1)
CLIPS> (send [a22] print)
[a22] of A2
(foo gen3)
(bar gen1)
CLIPS> (make-instance a3 of A3)
[a3]
CLIPS> (nth$ 2 (send [a3] get-foo))
def
CLIPS> (send [a3] put-bar 45)
45
CLIPS> (send [a3] get-bar)
45
CLIPS> (make-instance a4 of A4)
[a4]
CLIPS> (send [a4] print)
[a4] of A4
(foo 1)
(bar 2)
(woz nil)
CLIPS> (send [a4] put-foo 56)
56
CLIPS> (send [a4] put-bar 104)
104
CLIPS> (make-instance [b4] of A4)
[b4]
CLIPS> (send [b4] print)
[b4] of A4
(foo 56)
(bar 2)
(woz nil)
CLIPS> (send [b4] put-foo 34)
34
CLIPS> (send [b4] put-woz 68)
68
CLIPS> (send [a4] print)
[a4] of A4
(foo 34)
(bar 2)
(woz nil)
CLIPS> (send [b4] print)
[b4] of A4
(foo 34)
(bar 2)
(woz 68)
CLIPS> (describe-class A5)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: USER
Inheritance Precedence: A5 USER OBJECT
Direct Subclasses:
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
foo : SGL STC INH R SHR RCT EXC PRV R NIL A5
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
foo : + + + + + + + + RNG:[-oo..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-foo primary in class A5
********************************************************************************
================================================================================
CLIPS> (make-instance a6 of A6 (bar 34))
[MSGFUN1] No applicable primary message-handlers found for 'put-bar'.
FALSE
CLIPS> (make-instance a6 of A6 (foo 34) (woz 65))
[a6]
CLIPS> (send [a6] put-bar 1)
[MSGFUN1] No applicable primary message-handlers found for 'put-bar'.
FALSE
CLIPS> (send [a6] put-woz 1)
[MSGFUN3] Write access denied for slot 'woz' in instance [a6] of class 'A6'.
[PRCCODE4] Execution halted during the actions of message-handler 'put-woz' primary in class 'A6'
FALSE
CLIPS> (send [a6] print)
[a6] of A6
(foo 34)
(bar abc)
(woz 65)
CLIPS> (describe-class A7)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: USER
Inheritance Precedence: A7 USER OBJECT
Direct Subclasses: B7
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
foo : SGL STC INH RW LCL RCT EXC PRV RW put-foo A7
bar : SGL STC NIL RW LCL RCT EXC PRV RW put-bar A7
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
foo : + + + + + + + + RNG:[-oo..+oo]
bar : + + + + + + + + RNG:[-oo..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-foo primary in class A7
put-foo primary in class A7
get-bar primary in class A7
put-bar primary in class A7
********************************************************************************
================================================================================
CLIPS> (describe-class B7)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: A7
Inheritance Precedence: B7 A7 USER OBJECT
Direct Subclasses:
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
foo : SGL STC INH RW LCL RCT EXC PRV RW put-foo A7
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
foo : + + + + + + + + RNG:[-oo..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-foo primary in class A7
put-foo primary in class A7
get-bar primary in class A7
put-bar primary in class A7
********************************************************************************
================================================================================
CLIPS> (describe-class C8)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: B8
Inheritance Precedence: C8 B8 A8 USER OBJECT
Direct Subclasses:
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
foo : MLT STC INH R SHR RCT CMP PRV R NIL A8 C8
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
foo : + + + + + + + + RNG:[-oo..+oo] CRD:[0..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-foo primary in class A8
put-foo primary in class A8
get-foo primary in class B8
put-foo primary in class B8
get-foo primary in class C8
********************************************************************************
================================================================================
CLIPS> (describe-class B9)
================================================================================
********************************************************************************
Concrete: direct instances of this class can be created.
Non-reactive: direct instances of this class cannot match defrule patterns.
Direct Superclasses: A9
Inheritance Precedence: B9 A9 USER OBJECT
Direct Subclasses:
--------------------------------------------------------------------------------
SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)
foo : MLT STC INH R SHR RCT CMP PRV R NIL A9 B9
Constraint information for slots:
SLOTS : SYM STR INN INA EXA FTA INT FLT
foo : + + + + + + + + RNG:[-oo..+oo] CRD:[0..+oo]
--------------------------------------------------------------------------------
Recognized message-handlers:
init primary in class USER
delete primary in class USER
create primary in class USER
print primary in class USER
direct-modify primary in class USER
message-modify primary in class USER
direct-duplicate primary in class USER
message-duplicate primary in class USER
get-foo primary in class A9
get-foo primary in class B9
********************************************************************************
================================================================================
CLIPS> (make-instance a9 of A9)
[a9]
CLIPS> (make-instance b9 of B9)
[b9]
CLIPS> (send [a9] get-foo)
(a b c)
CLIPS> (send [b9] get-foo)
(d e f)
CLIPS> (make-instance global-test of GLOBAL-TEST)
[global-test]
CLIPS> (send [global-test] print)
[global-test] of GLOBAL-TEST
(x 100)
(y 100)
CLIPS> (bind ?*global-test* 200)
200
CLIPS> (initialize-instance global-test)
[global-test]
CLIPS> (send [global-test] print)
[global-test] of GLOBAL-TEST
(x 100)
(y 200)
CLIPS> (dribble-off)