package.lisp @ 2f0b5c92febe

Implement (mostly) register designators

The compilation part is finished, only need to get them into the instructions
now.  Also implemented ALOC/DEAL and did a bunch of refactoring.
author Steve Losh <steve@stevelosh.com>
date Sat, 16 Apr 2016 02:20:29 +0000
parents d16b5b360398
children b8bc9b175636
(defpackage #:bones
  (:use #:cl)
  (:export #:hello))

(defpackage #:bones.utils
  (:use #:cl
        #:defstar
        #:bones.quickutils)
  (:export
    #:repeat
    #:push-if-new))

(defpackage #:bones.wam
  (:use #:cl
        #:defstar
        #:optima
        #:cl-arrows
        #:bones.quickutils
        #:bones.utils)
  (:import-from #:optima #:match)
  (:shadowing-import-from #:cl-arrows #:->))

(defpackage #:bones.paip
  (:use #:cl #:defstar #:bones.quickutils)
  (:documentation "Test?")
  (:export

   ;; Unification, constants
   #:unify
   #:fail #:no-bindings
   #:*check-occurs*

   ;; Destructive unification
   #:unify!
   #:unbound
   #:bound-p

   ;; Database management
   #:clear-db
   #:clear-predicate
   #:fact
   #:rule
   #:add-fact
   #:rule-fact

   ;; Lisp data structures as results
   #:return-one
   #:return-all

   ;; Interactive queries
   #:query
   #:query-one
   #:query-all
   ))