(defparameter +code-dir+ "ICP:Code:") (defparameter +data-dir+ "ICP:Data:") ;;; package definitions (eval-when (load eval compile) (unless (find-package :icp) (make-package :icp)) (unless (find-package :frames) (make-package :frames)) (unless (find-package :dmap) (make-package :dmap)) (unless (find-package :log) (make-package :log)) (unless (find-package :casper) (make-package :casper))) (use-package '( :log :dmap :frames :icp :casper)) (defun probe-warning (pathname) (if (probe-file pathname) (format t "~%Found ~A" pathname) (format t "~%~A not found." pathname))) (defun sls (&key directory subdirectory filenames (extension "lisp") test) (let ((path (if subdirectory (format nil "~A~A" directory subdirectory) directory))) (loop for filename in filenames for comp = (format nil "~A~A.~A" path filename extension) do (if test (probe-warning comp) (load comp))))) (defun load-utilities (&optional test) (sls :directory +code-dir+ :subdirectory "Utilities:" :filenames '("tables" "logging" "toList") :test test)) (defun load-icp (&optional test) (sls :directory +code-dir+ :filenames '("micro-frame" "micro-dmap" "micro-icp" "micro-casper") :test test) ) (defun load-data (&optional test) (sls :directory +data-dir+ :filenames '("micro-casper" "frames" "phrases" "associations" ) :extension "data" :test test)) (defun load-source (&optional test) (load-utilities test) (load-icp test)) (defun setup () (load-source) (load-data)) (format t "~%Run (SETUP) to setup everything.")