changelog shortlog graph tags branches changeset files revisions annotate raw help

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

changeset 105: 524dfb768c7a
parent: 6e5caf0c68a1
child: e243efeae91d
author: ellis <ellis@rwest.io>
date: Sun, 17 Dec 2023 02:27:22 -0500
permissions: -rw-r--r--
description: added PWN, NET, OBJ/URI
1 (defpackage :obj/hash
2  (:nicknames :hash)
3  (:use :cl :std)
4  (:export
5  :hash-object))
6 
7 (defpackage :obj/id
8  (:nicknames :id)
9  (:use :cl :std :obj/hash)
10  (:export
11  :id :id-of :reset-id :update-id :make-id))
12 
13 (defpackage :obj/seq
14  (:nicknames :seq)
15  (:use :cl :std)
16  (:export :iterator))
17 
18 (defpackage :obj/tree
19  (:nicknames :tree)
20  (:use :cl :std :obj/id :obj/seq)
21  (:export :node :binary-node :unary-node))
22 
23 (defpackage :obj/graph
24  (:nicknames :graph)
25  (:use :cl :std :obj/id :obj/seq :obj/tree)
26  (:export
27  :vertex :edge :graph
28  :weighted-edge :directed-edge :undirected-edge))
29 
30 (defpackage :obj/color
31  (:nicknames :color)
32  (:use :cl :std)
33  (:export
34  #:rgb #:rgb-red #:rgb-green #:rgb-blue #:gray #:&rgb
35  #:hsv #:hsv-hue #:hsv-saturation #:hsv-value #:&hsv
36  #:rgb-to-hsv #:hsv-to-rgb #:hex-to-rgb #:as-hsv #:as-rgb
37  #:rgb-combination #:hsv-combination
38  #:parse-hex-rgb #:print-hex-rgb))
39 
40 (defpackage :obj/tbl
41  (:nicknames :tbl)
42  (:use :cl :std)
43  (:import-from :uiop :split-string)
44  (:export
45  :make-table
46  :make-row
47  :add-to-table
48  :add-to-row
49  :get-row
50  :get-row-column
51  :set-row-column
52  :num-rows
53  :num-cols
54  :num-col
55  :rectangular-table-p
56  :sequence->row
57  :row-sequence->table
58  :with-rows
59  :select
60  :distinct
61  :top
62  :order-by
63  :where
64  :where-filter
65  :where-or
66  :where-and
67  :read-csv
68  :read-tsv
69  :table-from-file))
70 
71 (defpackage :obj/uri
72  (:nicknames :uri)
73  (:use :cl :std :cl-ppcre)
74  (:export
75  #:uri ; class
76  #:uri-p
77  #:iri ; subclass of uri
78  #:iri-p
79  #:copy-uri
80 
81  #:uri-parse-error
82  #:uri-parse-error-string
83 
84  #:uri-scheme
85  #:uri-userinfo
86  #:uri-port
87  #:uri-path
88  #:uri-query
89  #:uri-fragment
90  #:generic-uri-scheme
91  #:generic-uri-userinfo
92  #:generic-uri-port
93  #:generic-uri-path
94  #:generic-uri-query
95  #:generic-uri-fragment
96 
97  #:uri-host
98  #:uri-ipv6
99  #:uri-zone-id
100  #:uri-plist
101  #:uri-authority ; pseudo-slot accessor
102 
103  #:urn ; class
104  #:urn-nid
105  #:urn-nss
106  #:urn-q-component ; RFC 8141
107  #:urn-f-component ; RFC 8141
108  #:urn-r-component ; RFC 8141
109 
110  #:*strict-parse*
111  #:parse-uri
112  #:merge-uris
113  #:enough-uri
114  #:uri-parsed-path
115  #:render-uri
116  #:string-to-uri
117  #:uri-to-string
118  #:string-to-iri
119  #:iri-to-string
120  #:parse-uri-string-rfc3986
121  #:parse-iri-string-rfc3987
122 
123  #:make-uri-space ; interning...
124  #:uri-space
125  #:uri=
126  #:intern-uri
127  #:unintern-uri
128  #:do-all-uris
129 
130  #:uri-to-pathname
131  #:pathname-to-uri))
132 
133 (uiop:define-package :obj
134  (:use :cl :std)
135  (:use-reexport :obj/color :obj/tbl :obj/id :obj/uri))