changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/obj/pkg.lisp

changeset 119: 85f27597cf60
parent: b828a3caa758
child: 3a282b508f54
author: ellis <ellis@rwest.io>
date: Fri, 22 Dec 2023 18:43:53 -0500
permissions: -rw-r--r--
description: castable added, still testing
1 (defpackage :obj/hash
2  (:nicknames :hash)
3  (:use :cl :std)
4  (:export
5  :*global-hasher*
6  :+global-hash+
7  :djb
8  :hash-object
9  :hash-object-address
10  ;; castable
11  :castable
12  :make-castable
13  :castable-p
14  :rehash
15  :castable-size
16  :castable-count
17  :castable-test
18  :castable-hasher
19  :cgethash
20  :cremhash
21  :try-cremhash
22  :cput-if-absent
23  :cput-if-equal
24  :cput-if-present
25  :cclrhash
26  :cmaphash))
27 
28 (defpackage :obj/id
29  (:nicknames :id)
30  (:use :cl :std :obj/hash)
31  (:export
32  :id :reset-id :update-id :make-id))
33 
34 (defpackage :obj/seq
35  (:nicknames :seq)
36  (:use :cl :std)
37  (:export :iterator :ring))
38 
39 (defpackage :obj/tree
40  (:nicknames :tree)
41  (:use :cl :std :obj/id :obj/seq)
42  (:export :node :binary-node :unary-node))
43 
44 (defpackage :obj/graph
45  (:nicknames :graph)
46  (:use :cl :std :obj/id :obj/seq :obj/tree)
47  (:export
48  :vertex :edge :graph
49  :weighted-edge :directed-edge :undirected-edge))
50 
51 (defpackage :obj/graph/dot
52  (:nicknames :dot)
53  (:use :cl :std :obj/graph :obj/id :cli)
54  (:export))
55 
56 (defpackage :obj/color
57  (:nicknames :color)
58  (:use :cl :std)
59  (:export
60  #:rgb #:rgb-red #:rgb-green #:rgb-blue #:gray #:&rgb
61  #:hsv #:hsv-hue #:hsv-saturation #:hsv-value #:&hsv
62  #:rgb-to-hsv #:hsv-to-rgb #:hex-to-rgb #:as-hsv #:as-rgb
63  #:rgb-combination #:hsv-combination
64  #:parse-hex-rgb #:print-hex-rgb))
65 
66 (defpackage :obj/tbl
67  (:nicknames :tbl)
68  (:use :cl :std)
69  (:import-from :uiop :split-string)
70  (:export
71  :make-table
72  :make-row
73  :add-to-table
74  :add-to-row
75  :get-row
76  :get-row-column
77  :set-row-column
78  :num-rows
79  :num-cols
80  :num-col
81  :rectangular-table-p
82  :sequence->row
83  :row-sequence->table
84  :with-rows
85  :select
86  :distinct
87  :top
88  :order-by
89  :where
90  :where-filter
91  :where-or
92  :where-and
93  :read-csv
94  :read-tsv
95  :table-from-file))
96 
97 (defpackage :obj/db
98  (:nicknames :db)
99  (:use :cl :std :id :seq :sb-mop :sb-pcl)
100  (:export
101  :xdb
102  :collection
103  :collection-aware
104  :map-docs
105  :duplicate-doc-p
106  :find-duplicate-doc
107  :store-doc
108  :serialize-doc
109  :serialize-docs
110  :load-from-file
111  :get-collection
112  :add-collection
113  :snapshot
114  :load-db
115  :get-docs
116  :get-doc
117  :get-val
118  :set-val
119  :sum
120  :max-val
121  :document
122  :doc-type
123  :key
124  :find-doc
125  :find-docs
126  :sort-collection
127  :docs
128  :*fsync-data*
129  :storable-class
130  :dbs
131  :get-db
132  :add-db
133  :enable-sequences
134  :next-sequence
135  :sort-docs))
136 
137 (uiop:define-package :obj
138  (:use-reexport :hash :color :seq :tree :graph :tbl :id :db))