package.lisp @ dc6892a9a406

Stop using the fill pointer for the stack

This is ugly, but it had to be done.  Shit gets too crazy once you introduce
choice points.  We'll just have to manage our own memory.  Ugh.
author Steve Losh <steve@stevelosh.com>
date Wed, 20 Apr 2016 17:13:31 +0000
parents b8bc9b175636
children f3ed7ce70f3b
(defpackage #:bones
  (:use #:cl)
  (:export #:hello))

(defpackage #:bones.utils
  (:use #:cl
        #:defstar
        #:bones.quickutils)
  (:export
    #:repeat
    #:topological-sort
    #: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
   ))