syndicate-2017/racket/doc/forward-chaining-hll4.rkt.txt

13 lines
515 B
Racket

#lang prospect/hll ;; -*- racket -*-
(actor (forever (assert `(parent john douglas))))
(actor (forever (assert `(parent bob john))))
(actor (forever (assert `(parent ebbon bob))))
(actor (forever (on (asserted `(parent ,$A ,$C))
(until (retracted `(parent ,A ,C))
(assert `(ancestor ,A ,C))
(on (asserted `(ancestor ,C ,$B))
(until (retracted `(ancestor ,C ,B))
(assert `(ancestor ,A ,B))))))))