File: test.clp

package info (click to toggle)
clips-doc 6.23-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 7,160 kB
  • ctags: 27
  • sloc: makefile: 26
file content (29 lines) | stat: -rw-r--r-- 670 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(deftemplate person
 (multislot name)(slot age)(slot gender))
 
(deffacts people
 (person (name Jane Smythe)(age 48)(gender f))
 (person (name zizi)(age 23)(gender f))
 (person (name donald duck)(age 75)(gender m)) 
 (person (name mary)(age 35)(gender f)))
 
(deffacts lineage
 (mother-of (name Jane Smythe)(child zizi)))

(deftemplate mother-of
 (multislot name) (multislot child))
 
(deftemplate parent-of
 (multislot name) (multislot child))
 
(defrule women
  (person (name $?N) (gender f))
  =>
  (printout t $?N crlf))
  
 (defrule maternity
  (person (name $?N) (gender f))
  (parent-of (name $?N)(child $?M))
  =>
  (assert (mother-of (name $?N) (child $?M))))