lang-model/ast/knowledge.lisp

40 lines
852 B
Common Lisp
Raw Permalink Normal View History

2017-05-09 20:21:22 +00:00
(defun (setf question) (answer quest)
(give-answer quest answer))
(defun give-answer (quest answer)
(format t "From now on ~a -> ~a~%" quest answer)
answer)
(defun question (x)
(format t "Question: ~a~%" x))
(defvar *OBSERVATION-NUMBER* 0)
(defmacro defobs (obs input parsed)
"Defines a new input-parsed pair."
(when parsed
(incf *OBSERVATION-NUMBER*)
(format t "> ~a" input)
(let ((listv (gensym))
(obsv (gensym)))
`(let ((,listv ',parsed)
(,obsv ,obs))
(case ,obsv
(1.00
(progn
(format t " || Yes~%")
(setf ,parsed t))))))))
;; Basic operators
(load "operators.lisp")
;; Load knowledge base
(load "gac-80k-affirmations.lisp")
(load "gac-80k.lisp")
;; Stats
(format t "~%Read ~a observations.~%" *OBSERVATION-NUMBER*)