;;;; -*- Mode: LISP; Syntax: Common-Lisp; Base: 10 -*- ;;;; --------------------------------------------------------------------------- ;;;; File name: macfac-accessors.lsp ;;;; System: ;;;; Author: Ken Forbus ;;;; Created: February 5, 2004 16:20:18 ;;;; Purpose: ;;;; --------------------------------------------------------------------------- ;;;; Modified: Monday, February 9, 2004 at 09:44:18 by Kenneth Forbus ;;;; --------------------------------------------------------------------------- (in-package :fire) ;;; **** Finish implementing MAC/FAC support: ;;; **** Add reminding datastructure ;;; **** Implement accessors for new reminding datastructure (defun register-reminding-handlers (source reasoner) ;;; Remindings (register-ask-source reasoner 'data::reminding source 'run-macfac '(:known :known :variable :variable) '(:input-only :input-only :produces :produces) :medium) ;; (caseLibraryContents ?library ?set) (register-simple-handler caseLibraryContents ;; Accessor case-library-contents-find (:known :variable)) ;; (caseLibraryContains ?library ?case) (register-simple-handler caseLibraryContains ;; Test case-library-contents-test (:known :known)) (register-simple-handler caseLibraryContains ;; Accessor/gatherer case-library-contents-find (:known :variable)) ;; (caseLibrarySize ?library ?size) (register-simple-handler caseLibrarySize ;; Test case-library-size-test (:known :known)) (register-simple-handler caseLibrarySize ;; Accessor/gatherer case-library-size-find (:known :variable)) ;; (probeOf ?reminding ?case) (register-simple-handler probeOf ;; Test probe-of-test (:known :known)) (register-simple-handler probeOf ;; Accessor/gatherer probe-of-find (:known :variable)) ;; (caseLibraryOf ?reminding ?library) (register-simple-handler caseLibraryOf ;; Test case-library-of-test (:known :known)) (register-simple-handler caseLibraryOf ;; Accessor/gatherer case-library-of-find (:known :variable)) ;; (numberOfMACItems ?reminding ?n) (register-simple-handler numberOfMACItems ;; Test number-of-mac-items-test (:known :known)) (register-simple-handler numberOfMACItems ;; Accessor/gatherer number-of-mac-items-find (:known :variable)) ;; (numberOfFACItems ?reminding ?n) (register-simple-handler numberOfFACItems ;; Test number-of-fac-items-test (:known :known)) (register-simple-handler numberOfFACItems ;; Accessor/gatherer number-of-fac-items-find (:known :variable)) ;; (remindingMACContains ?reminding ?case) (register-simple-handler remindingMACContains ;; Test reminding-mac-contains-test (:known :known)) (register-simple-handler remindingMACContains ;; Accessor/gatherer reminding-mac-contains-find (:known :variable)) ;; (remindingFACContains ?reminding ?set) (register-simple-handler remindingFACContains ;; Test reminding-fac-contains-test (:known :known)) (register-simple-handler remindingFACContains ;; Accessor/gatherer reminding-fac-contains-find (:known :variable)) ;; (contentVectorDotProduct ?dgroup1 ?dgroup2 ?value) (register-simple-handler contentVectorDotProduct ;; Test content-vector-dot-product-test (:known :known :known)) (register-simple-handler contentVectorDotProduct ;; Compute content-vector-dot-product-find (:known :known :variable)) source) ;;; ******* These are stub handlers, because I'm timing out right now. ;;; ******* It's more important to update the documentation than get this ;;; ******* part built at the moment. ;; (caseLibraryContents ?library ?set) (defsource-handler case-library-contents-find (library) nil) ;; (caseLibraryContains ?library ?case) (defsource-handler case-library-contains-test (library case) nil) (defsource-handler case-library-contains-find (library) nil) ;; (caseLibrarySize ?library ?size) (defsource-handler case-library-size-test (library size) nil) (defsource-handler case-library-size-find (library) nil) ;; (probeOf ?reminding ?case) (defsource-handler probe-of-test (reminding case) nil) (defsource-handler probe-of-find (reminding) nil) ;; (caseLibraryOf ?reminding ?library) (defsource-handler case-library-of-test (reminding library) nil) (defsource-handler case-library-of-find (reminding) nil) ;; (numberOfMACItems ?reminding ?n) (defsource-handler number-of-mac-items-test (reminding n) nil) (defsource-handler number-of-mac-items-find (reminding) nil) ;; (numberOfFACItems ?reminding ?n) (defsource-handler number-of-fac-items-test (reminding n) nil) (defsource-handler number-of-fac-items-find (reminding) nil) ;; (remindingMACContains ?reminding ?case) (defsource-handler reminding-mac-contains-test (reminding case) nil) (defsource-handler reminding-mac-contains-find (reminding) nil) ;; (remindingFACContains ?reminding ?case) (defsource-handler reminding-fac-contains-test (reminding case) nil) (defsource-handler reminding-fac-contains-find (reminding) nil) ;; (contentVectorDotProduct ?dgroup1 ?dgroup2 ?value) (defsource-handler content-vector-dot-product-test (dgroup1 dgroup2 value) nil) (defsource-handler content-vector-dot-product-find (dgroup1 dgroup2) nil) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; End of Code