Filtering...

hons

hons
other
(in-package "ACL2")
defnmacro
(defmacro defn
  (f a &rest r)
  `(defun ,F ,A (declare (xargs :guard t)) ,@R))
defndmacro
(defmacro defnd
  (f a &rest r)
  `(defund ,F ,A (declare (xargs :guard t)) ,@R))
other
(defn hons-equal
  (x y)
  (declare (xargs :mode :logic))
  (equal x y))
other
(defn hons-assoc-equal
  (key alist)
  (declare (xargs :mode :logic))
  (cond ((atom alist) nil)
    ((and (consp (car alist)) (hons-equal key (caar alist))) (car alist))
    (t (hons-assoc-equal key (cdr alist)))))
other
(defn hons-get
  (key alist)
  (declare (xargs :mode :logic))
  (hons-assoc-equal key alist))
other
(defn hons-acons
  (key val alist)
  (declare (xargs :mode :logic))
  (cons (cons key val) alist))
fast-alist-free-on-exit-rawmacro
(defmacro fast-alist-free-on-exit-raw
  (alist form)
  (declare (ignore alist))
  form)
other
(defn fast-alist-free
  (alist)
  (declare (xargs :mode :logic))
  alist)
fast-alist-free-on-exitmacro
(defmacro fast-alist-free-on-exit
  (alist form)
  `(return-last 'fast-alist-free-on-exit-raw ,ALIST ,FORM))
other
(defn hons-copy (x) (declare (xargs :mode :logic)) x)
other
(defn hons-copy-persistent (x) x)
other
(defn hons (x y) (cons x y))
other
(defn hons-equal-lite (x y) (equal x y))
other
(defn hons-clear (gc) (declare (ignore gc)) nil)
other
(defn hons-clear! (gc) (declare (ignore gc)) nil)
other
(defn hons-wash nil nil)
other
(defn hons-wash! nil nil)
other
(defn hons-summary nil nil)
hons-resizemacro
(defmacro hons-resize
  (&key str-ht
    nil-ht
    cdr-ht
    cdr-ht-eql
    addr-ht
    other-ht
    sbits
    fal-ht
    persist-ht)
  `(hons-resize-fn ,STR-HT
    ,NIL-HT
    ,CDR-HT
    ,CDR-HT-EQL
    ,ADDR-HT
    ,OTHER-HT
    ,SBITS
    ,FAL-HT
    ,PERSIST-HT))
other
(defn hons-resize-fn
  (str-ht nil-ht
    cdr-ht
    cdr-ht-eql
    addr-ht
    other-ht
    sbits
    fal-ht
    persist-ht)
  (declare (ignore str-ht
      nil-ht
      cdr-ht
      cdr-ht-eql
      addr-ht
      other-ht
      sbits
      fal-ht
      persist-ht))
  nil)
other
(table hons 'slow-alist-warning :break)
set-slow-alist-actionmacro
(defmacro set-slow-alist-action
  (action)
  (declare (xargs :guard (or (eq action :warning) (eq action :break) (not action))))
  `(table hons 'slow-alist-warning ,ACTION))
other
(defn hons-acons!
  (key val alist)
  (cons (cons key val) alist))
other
(defn make-fast-alist (alist) alist)
other
(defn fast-alist-fork
  (alist ans)
  (cond ((atom alist) ans)
    ((atom (car alist)) (fast-alist-fork (cdr alist) ans))
    ((hons-assoc-equal (car (car alist)) ans) (fast-alist-fork (cdr alist) ans))
    (t (fast-alist-fork (cdr alist) (cons (car alist) ans)))))
other
(defn fast-alist-fork!
  (alist ans)
  (fast-alist-fork alist ans))
hons-shrink-alistmacro
(defmacro hons-shrink-alist
  (alist ans)
  `(fast-alist-fork ,ALIST ,ANS))
hons-shrink-alist!macro
(defmacro hons-shrink-alist!
  (alist ans)
  `(fast-alist-fork! ,ALIST ,ANS))
other
(add-macro-alias hons-shrink-alist fast-alist-fork)
other
(add-macro-alias hons-shrink-alist! fast-alist-fork!)
other
(defn fast-alist-clean
  (alist)
  (fast-alist-fork alist
    (if (consp alist)
      (cdr (last alist))
      alist)))
other
(defn fast-alist-clean! (alist) (fast-alist-clean alist))
other
(defn fast-alist-len
  (alist)
  (len (fast-alist-fork alist nil)))
other
(defn fast-alist-summary nil nil)
with-fast-alist-rawmacro
(defmacro with-fast-alist-raw
  (alist form)
  (declare (ignore alist))
  form)
with-fast-alistmacro
(defmacro with-fast-alist
  (alist form)
  `(return-last 'with-fast-alist-raw ,ALIST ,FORM))
with-stolen-alist-rawmacro
(defmacro with-stolen-alist-raw
  (alist form)
  (declare (ignore alist))
  form)
with-stolen-alistmacro
(defmacro with-stolen-alist
  (alist form)
  `(return-last 'with-stolen-alist-raw ,ALIST ,FORM))
other
(defn cons-subtrees
  (x al)
  (cond ((atom x) al)
    ((hons-get x al) al)
    (t (cons-subtrees (car x)
        (cons-subtrees (cdr x) (hons-acons x t al))))))
other
(defn number-subtrees
  (x)
  (len (cons-subtrees x 'number-subtrees)))
other
(defn flush-hons-get-hash-table-link
  (alist)
  (fast-alist-free alist))
in-theory
(in-theory (disable (:executable-counterpart hons)
    (:executable-counterpart hons-copy)
    (:executable-counterpart hons-copy-persistent)
    (:executable-counterpart hons-summary)
    (:executable-counterpart fast-alist-summary)
    (:executable-counterpart hons-clear)
    (:executable-counterpart hons-clear!)
    (:executable-counterpart hons-wash)
    (:executable-counterpart hons-wash!)
    (:executable-counterpart hons-resize-fn)
    (:executable-counterpart hons-get)
    (:executable-counterpart hons-acons)
    (:executable-counterpart hons-acons!)
    (:executable-counterpart fast-alist-fork)
    (:executable-counterpart fast-alist-fork!)
    (:executable-counterpart fast-alist-clean)
    (:executable-counterpart fast-alist-clean!)
    (:executable-counterpart fast-alist-len)
    (:executable-counterpart fast-alist-free)
    (:executable-counterpart flush-hons-get-hash-table-link)))
remove-keywordfunction
(defun remove-keyword
  (word l)
  (declare (xargs :guard (and (keywordp word) (keyword-value-listp l))))
  (cond ((endp l) nil)
    ((eq word (car l)) (remove-keyword word (cddr l)))
    (t (list* (car l) (cadr l) (remove-keyword word (cddr l))))))