changelog shortlog graph tags branches changeset files revisions annotate raw help

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

changeset 120: 3a282b508f54
parent: 85f27597cf60
child: 4ba88cac5bc7
author: ellis <ellis@rwest.io>
date: Sat, 23 Dec 2023 19:09:51 -0500
permissions: -rw-r--r--
description: tests, colors, tables
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  :color-palette :parse-and-write-color-definitions))
66 
67 (defpackage :obj/tbl
68  (:nicknames :tbl)
69  (:use :cl :std)
70  (:import-from :uiop :split-string)
71  (:export
72  :table
73  :row
74  :make-table
75  :make-row
76  :add-to-table
77  :add-to-row
78  :get-row
79  :get-row-column
80  :set-row-column
81  :num-rows
82  :num-cols
83  :num-col
84  :rectangular-table-p
85  :sequence->row
86  :row-sequence->table
87  :with-rows
88  :select
89  :distinct
90  :top
91  :order-by
92  :where
93  :where-filter
94  :where-or
95  :where-and
96  :read-csv
97  :read-tsv
98  :table-from-file))
99 
100 (defpackage :obj/db
101  (:nicknames :db)
102  (:use :cl :std :id :seq :sb-mop :sb-pcl)
103  (:export
104  :xdb
105  :collection
106  :collection-aware
107  :map-docs
108  :duplicate-doc-p
109  :find-duplicate-doc
110  :store-doc
111  :serialize-doc
112  :serialize-docs
113  :load-from-file
114  :get-collection
115  :add-collection
116  :snapshot
117  :load-db
118  :get-docs
119  :get-doc
120  :get-val
121  :set-val
122  :sum
123  :max-val
124  :document
125  :doc-type
126  :key
127  :find-doc
128  :find-docs
129  :sort-collection
130  :docs
131  :*fsync-data*
132  :storable-class
133  :dbs
134  :get-db
135  :add-db
136  :enable-sequences
137  :next-sequence
138  :sort-docs))
139 
140 (uiop:define-package :obj
141  (:use-reexport :hash :color :seq :tree :graph :tbl :id :db))