home *** CD-ROM | disk | FTP | other *** search
- # From: "Dat Nguyen" <thucdat@hotmail.com>
- # Subject: Is Socrates Mortal?
- # Date: Mon, 10 May 2004 11:08:39 -0400
- #
- # Prolog-like declarative logic programming in Kermit.
- #
- define being {
- _asg \%1.being \m(\%1.being)|\%2
- _asg \%2.having \m(\%2.having)|\%1
- }
-
- define findtheTruth {
- local \%i \&w[]
- for \%i 1 \fsplit(\m(\%1.being),&w,|) 1 {
- if > \find(\%2,\&w[\%i]) 0 return 1
- findtheTruth \&w[\%i] \%2
- if success return 1
- }
- END -999999
- }
-
- define isTrue {
- findtheTruth \%1 \%2
- if success {
- echo yes
- return 1
- } else {
- echo no
- return 0
- }
- }
-
- define whois {
- local \%i \&w[]
- for \%i 1 \fsplit(\m(\%1.having),&w,|) 1 {
- if not define \m(\&w[\%i].having) {
- echo \&w[\%i]
- }
- whois \&w[\%i]
- }
- }
-
- being Socrates human
- being human mortal
-
- being venus_williams tennisPlayer
- being tennisPlayer makeslotsmoney
- being makeslotsmoney rich
- being rich happy
-
- being Donna makeslotsmoney
- being steffi_graf tennisPlayer
- being andre_aggassi tennisPlayer
-
- # Is Socrates a human?
- isTrue Socrates human
-
- # Is Socrates mortal?
- isTrue Socrates mortal
-
- # Is Venus Williams a tennis player?
- isTrue venus_williams tennisPlayer
-
- # Who is tennis player?
- whois tennisPlayer
-
- # Who is human?
- whois human
-
- # Who is rich?
- whois rich
-