-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathatre.lisp
45 lines (36 loc) · 1.32 KB
/
atre.lisp
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
;; -*- MODE: Lisp; -*-
;;; ATRE: Tiny Rule Engine, with ATMS interface
;; Last edited: 1/29/93, KDF
;; Copyright (c) 1992, Kenneth D. Forbus, Northwestern
;; University, and Johan de Kleer, the Xerox Corporation
;; All rights reserved.
;;; See the file legal.txt for a paragraph stating scope of permission
;;; and disclaimer of warranty. The above copyright notice and that
;;; paragraph must be included in any separate copy of this file.
(in-package :COMMON-LISP-USER)
(defvar *atre-path*
(make-bps-path "atms")
)
(setq *atre-files*
'("atms" ;; ATMS
"ainter" ;; Interface
"adata" ;; Database
"arules" ;; Rule system
"unify" ;; Variables and pattern matching
"funify" ;; Open-coding of unification
"atret")) ;; Test procedures
(setq *planner-files*
'("aplanr" ;; Utilities
"plan-a" ;; Antecedent planner
"plan-e" ;; Envisioner
"bcode" ;; Blocks World support
"blocks")) ;; Rules for Blocks World
(defun compile-atre ()
(compile-load-files *atre-files* *atre-path*))
(defun compile-planner () ;; Assumes ATRE is compiled and loaded.
(compile-load-files '("aplanr" "plan-a" "plan-e" "bcode")
*atre-path*)
(unless (and (boundp '*plnpr*)
(not (null *plnpr*)))
(create-planning-problem "DUMMY" nil))
(compile-load-files '("blocks") *atre-path*))