-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.lisp
More file actions
64 lines (54 loc) · 1.97 KB
/
Copy pathconfig.lisp
File metadata and controls
64 lines (54 loc) · 1.97 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
(in-package :monroe)
(defclass monroe-config ()
((common-state
:initarg :common-state
:accessor common-state
)
(plan-package
:initarg :plan-package
:reader plan-package
)
(domain-name
:initarg :domain-name
:reader domain-name
))
(:documentation "Object encapsulating Monroe configuration so that
we can override it."))
(defclass monroe-corpus-config (monroe-config)
()
(:default-initargs :plan-package '#:monroe)
(:documentation "This is the configuration class for Nate's original
MONROE."))
(defgeneric plan-ok (monroe-config plan)
(:documentation "Predicate to be called on each plan to decide if
it's acceptable."))
(defgeneric generate-goal-and-start-state (monroe-config schema)
(:documentation "Takes a configuration object and a goal schema as
arguments and returns a list, whose FIRST is a revised task and
whose SECOND is a start state."))
(defgeneric choose-goal-schema (config))
(defgeneric top-goals (config)
(:documentation "If using the standard method of choosing a goal
schema, this should return a problist of goal schemas.")
(:method ((config monroe-config))
(declare (special *top-goals*) (ignorable config))
*top-goals*)
)
(defgeneric get-top-goal-schemas (config)
(:documentation "Returns a list of the top goals of the domain.
Helper function for GET-GOAL-SCHEMAS."))
(defgeneric get-goal-schemas (config)
(:documentation "returns a list of the goals of the domain
in case of flat recognition (*FLAT-OUTPUT* is non-NIL), these
are also the top goals. For hierarchical, they include the top and
subgoals"))
(defgeneric get-method-schemas (config)
(:documentation "Returns a list of *unique* method schemas from
the domain so things like GET-TO will just be 1 schema, even though
there are many different method bodies."))
;;; specials
(declaim (special *top-goals* *flat-output*))
(defvar *problem-filename*
nil
"Used to dump problems, when desired. Internal use only: control
with arguments.")