Coverage report: /home/ellis/comp/core/lib/obj/pkg.lisp

KindCoveredAll%
expression033 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; obj/pkg.lisp --- Object Packages
2
 
3
 ;;
4
 
5
 ;;; Code:
6
 (defpackage obj/int
7
   (:use :cl :std)
8
   (:export :*obj-packages*))
9
 (in-package :obj/int)
10
 
11
 (eval-always (defvar *obj-packages* nil))
12
 
13
 (setq *defpkg-hook* (lambda (x) (pushnew (package-name x) *obj-packages* :test 'string=)))
14
 
15
 (defpkg :obj/id
16
   (:nicknames :id)
17
   (:use :cl :std)
18
   (:export 
19
    :id :reset-id :update-id :make-id
20
    :id-factory))
21
 
22
 (defpkg :obj/equiv
23
   (:nicknames :equiv)
24
   (:use :cl :std)
25
   (:export :equiv :eqv :equivalence :equals))
26
 
27
 (defpkg :obj/uri/punycode
28
   (:nicknames :punycode)
29
   (:use :cl)
30
   (:export
31
    :encode-punycode
32
    :decode-punycode
33
    :encode-domain
34
    :decode-domain))
35
 
36
 (defpkg :obj/uri
37
   (:nicknames :uri)
38
   (:use :cl :std :std/seq :punycode)
39
   (:export
40
    :uri                         ; class
41
    :uri-p
42
    :iri                         ; subclass of uri
43
    :iri-p
44
    :copy-uri
45
    :uri-parse-error
46
    :uri-parse-error-string
47
    :uri-scheme
48
    :uri-userinfo
49
    :uri-port
50
    :uri-path
51
    :uri-query
52
    :uri-fragment
53
    :uri-ipv6
54
    :uri-zone-id
55
    :uri-plist
56
    :uri-authority                       ; pseudo-slot accessor
57
    :uri-host
58
    :urn                         ; class
59
    :urn-nid
60
    :urn-nss
61
    :urn-q-component                     ; RFC 8141
62
    :urn-f-component                     ; RFC 8141
63
    :urn-r-component                     ; RFC 8141
64
    :*strict-parse*
65
    :parse-uri
66
    :merge-uris
67
    :enough-uri
68
    :uri-parsed-path
69
    :render-uri
70
    :string-to-uri
71
    :uri-to-string
72
    :string-to-iri
73
    :iri-to-string
74
    :parse-uri-string-rfc3986
75
    :parse-iri-string-rfc3987
76
    :make-uri-space                      ; interning...
77
    :uri-space
78
    :uri=
79
    :intern-uri
80
    :unintern-uri
81
    :do-all-uris
82
    :uri-to-pathname
83
    :pathname-to-uri
84
    ;; domains
85
    :parse-domain
86
    :ipv4-addr-p
87
    :ipv6-addr-p
88
    :ip-addr-p
89
    :ip-addr=
90
    :uri-tld
91
    :uri-domain
92
    :uri-condition
93
    :uri-error))
94
 
95
 (pkg:defpkg :obj/url
96
   (:nicknames :url)
97
   (:use :cl :std :obj/uri :sb-ext)
98
   (:export :url-encode :url-decode :url-encode-params :url-decode-params))
99
 
100
 (defpkg :obj/tensor
101
   (:nicknames :tensor)
102
   (:use :cl :std)
103
   (:export
104
    #:base-tensor
105
    #:sparse-tensor
106
    #:dense-tensor
107
    #:numeric-tensor
108
    #:real-numeric-tensor
109
    #:rational-tensor
110
    #:fixnum-tensor
111
    #:standard-tensor
112
    #:octet-tensor
113
    #:boolean-tensor
114
    #:blas-numeric-tensor
115
    #:real-blas-tensor
116
    #:real-tensor
117
    #:sreal-tensor
118
    #:complex-numeric-tensor
119
    #:complex-blas-tensor
120
    #:complex-tensor
121
    #:scomplex-tensor
122
    #:real-coordinate-sparse-tensor
123
    #:real-compressed-sparse-matrix
124
    #:coordinate-sparse-tensor
125
    #:compressed-sparse-matrix
126
    #:*print-tensor-max-len*
127
    #:*print-tensor-max-args*
128
    #:*print-tensor-indent*
129
    #:*tensor-safety-p*
130
    #:print-tensor
131
    #:print-element
132
    #:*default-sparse-store-increment*
133
    #:*default-sparsity*
134
    #:*max-sparse-size*
135
    #:*default-stride-ordering*
136
    #:*default-tensor-type*
137
    #:size
138
    #:store-size
139
    #:store-ref
140
    #:subtensor
141
    #:suptensor
142
    #:reshape
143
    #:fc
144
    #:subfieldp
145
    #:zeros
146
    #:%zeros
147
    #:with-rowm
148
    #:with-colm
149
    #:nrows
150
    #:ncols
151
    #:row-stride
152
    #:col-stride
153
    #:tensor-square-matrixp))
154
 
155
 (defpkg :obj/color
156
   (:nicknames :color)
157
   (:use :cl :std)
158
   (:export
159
    #:color #:alpha
160
    #:rgb #:red #:green #:blue #:gray
161
    #:hsv #:hue #:saturation #:.value 
162
    #:hsi #:intensity
163
    #:hsl #:lightness 
164
    #:cmyk #:cyan #:magenta #:yellow #:.key
165
    #:xyz #:.x #:.y #:.z
166
    #:lab #:.l #:.a #:.b
167
    #:rgb-to-hsv #:hsv-to-rgb #:hex-to-rgb #:as-hsv #:as-rgb
168
    #:rgb-combination #:hsv-combination
169
    #:parse-hex-rgb #:print-hex-rgb
170
    :*x11-palette* :*palette* :palette))
171
 
172
 (defpkg :obj/time
173
   (:nicknames :time)
174
   (:use :cl :std)
175
   (:export
176
    :iso-time
177
    :rfc-1123-date
178
    :timestamp
179
    :date
180
    :time-of-day
181
    :make-timestamp
182
    :clone-timestamp
183
    :day-of
184
    :sec-of
185
    :nsec-of
186
    :timestamp<
187
    :timestamp<=
188
    :timestamp>
189
    :timestamp>=
190
    :timestamp=
191
    :timestamp/=
192
    :timestamp-maximum
193
    :timestamp-minimum
194
    :adjust-timestamp
195
    :adjust-timestamp!
196
    :timestamp-whole-year-difference
197
    :days-in-month
198
    :timestamp-
199
    :timestamp+
200
    :timestamp-difference
201
    :timestamp-minimize-part
202
    :timestamp-maximize-part
203
    :with-decoded-timestamp
204
    :decode-timestamp
205
    :timestamp-century
206
    :timestamp-day
207
    :timestamp-day-of-week
208
    :timestamp-decade
209
    :timestamp-hour
210
    :timestamp-microsecond
211
    :timestamp-millennium
212
    :timestamp-millisecond
213
    :timestamp-minute
214
    :timestamp-month
215
    :timestamp-second
216
    :timestamp-week
217
    :timestamp-year
218
    :parse-timestring
219
    :invalid-timestring
220
    :format-timestring
221
    :format-rfc1123-timestring
222
    :to-rfc1123-timestring
223
    :format-rfc3339-timestring
224
    :to-rfc3339-timestring
225
    :encode-timestamp
226
    :parse-rfc3339-timestring
227
    :universal-to-timestamp
228
    :timestamp-to-universal
229
    :unix-to-timestamp
230
    :timestamp-to-unix
231
    :timestamp-subtimezone
232
    :define-timezone
233
    :*default-timezone*
234
    :*clock*
235
    :leap-second-adjusted
236
    :clock-now
237
    :clock-today
238
    :find-timezone-by-location-name
239
    :timezones-matching-subzone
240
    :all-timezones-matching-subzone
241
    :reread-timezone-repository
242
    :now
243
    :today
244
    :format-date-simple
245
    :enable-read-macros
246
    :+utc-zone+
247
    :+gmt-zone+
248
    :+month-names+
249
    :+short-month-names+
250
    :+day-names+
251
    :+short-day-names+
252
    :+seconds-per-day+
253
    :+seconds-per-hour+
254
    :+seconds-per-minute+
255
    :+minutes-per-day+
256
    :+minutes-per-hour+
257
    :+hours-per-day+
258
    :+days-per-week+
259
    :+months-per-year+
260
    :+iso-8601-format+
261
    :+iso-8601-date-format+
262
    :+iso-8601-time-format+
263
    :+rfc3339-format+
264
    :+rfc3339-format/date-only+
265
    :+asctime-format+
266
    :+rfc-1123-format+
267
    :+iso-week-date-format+
268
    :astronomical-julian-date
269
    :modified-julian-date
270
    :astronomical-modified-julian-date
271
    :zone-name
272
    :encode-universal-time-with-tz
273
    :decode-universal-time-with-tz
274
    :octets-to-timestamp
275
    :timestamp-to-octets
276
    :duration))
277
 
278
 (defpkg :obj/uuid
279
   (:nicknames :uuid)
280
   (:use :cl :std :obj/id :obj/time)
281
   (:export
282
    :uuid :*ticks-per-count* :format-as-urn :make-null-uuid
283
    :make-uuid-from-string :make-v1-uuid :make-v3-uuid :make-v4-uuid
284
    :make-v5-uuid :uuid= :+namespace-dns+ :+namespace-oid+ :+namespace-x500+
285
    :uuid-to-octet-vector :octet-vector-to-uuid
286
    :uuid-to-string))
287
 
288
 (defpkg :obj/build
289
   (:nicknames :build)
290
   (:use :cl :std)
291
   (:export :build :build-from))
292
 
293
 (defpkg :obj/ast
294
   (:nicknames :ast)
295
   (:use :cl :std :std/seq)
296
   (:export :ast 
297
    :build-ast :load-ast 
298
    :load-ast* :*ast*
299
    :wrap :unwrap
300
    :unwrap-or :form
301
    :formp :unwrap-object
302
    :wrap-object :expr
303
    :literal-expr :unary-expr
304
    :binary-expr :lhs
305
    :rhs :physical-expr
306
    :logical-expr :node
307
    :defnode :defstmt
308
    :stmt :defexpr
309
    :traverse :op
310
    :*ast-dispatch-table* :write-ast
311
    :read-ast
312
    :debug-traverser :copy-traverser
313
    :*keep-ast* :syntax-error
314
    :syntax-warning :syntax-condition))
315
 
316
 (defpkg :obj/graph
317
   (:nicknames :graph)
318
   (:use :cl :std :obj/id :ast :std/readtable)
319
   (:export 
320
    :vertex :edge :graph :make-edge :make-graph
321
    :nodes :edges :add-node :add-edge
322
    :weighted-edge :directed-edge :undirected-edge :directed-graph
323
    :edge-value :edge-weight :node-edges
324
    :edgex
325
    :edge-out
326
    :edge-in))
327
 
328
 (defpkg :obj/config
329
   (:nicknames :config)
330
   (:use :cl :std :ast)
331
   (:export :config :make-config :find-config
332
    :config-find :config-get :defconfig
333
    :load-config))
334
 
335
 (defpkg :obj/plan
336
   (:nicknames :plan)
337
   (:use :cl :std :obj/ast :obj/config :obj/build)
338
   (:export :plan :planner
339
            :logical-plan
340
            :physical-plan
341
            :make-physical-plan))
342
 
343
 (defpkg :obj/schema
344
   (:nicknames :schema)
345
   (:use :cl :std :config :build :meta :stored :sb-mop :id :ast :dynamic :plan)
346
   (:export
347
    #:schema
348
    #:object-schema
349
    #:simple-schema
350
    #:schema-metadata
351
    #:field-vector
352
    #:field
353
    #:load-field
354
    #:load-schema
355
    #:derive-schema
356
    #:fields
357
    #:make-simple-schema
358
    #:make-field
359
    #:field-p
360
    #:copy-field
361
    #:field-name
362
    #:field-type
363
    #:defschema
364
    #:list-to-fields
365
    #:define-simple-schema
366
    #:not-a-database
367
    #:db-condition
368
    #:apply-schema-change-fn
369
    #:match-schemas
370
    #:schema-diff
371
    #:default-class-constructor
372
    #:classname
373
    #:slot-field
374
    #:slot-field-type
375
    #:slot-field-args
376
    #:slot-field-name
377
    #:slot-field-eq
378
    #:class-instance-schema
379
    #:compute-transient-schema
380
    #:*slot-def-type-tags*
381
    #:compute-slot-fields
382
    #:compute-transient-slot-fields
383
    #:dump-schema
384
    #:upgradable-schema
385
    #:dump-slots
386
    #:sorted-slots
387
    #:slot-defs-from-schema
388
    #:make-fields
389
    #:schema-class-name
390
    #:schema-successor
391
    #:schema-predecessor
392
    #:diff-type
393
    #:diff-recs
394
    #:apply-schema
395
    #:dynamic-schema
396
    #:literal-value-vector
397
    #:column-vector
398
    #:literal-value-type
399
    #:*literal-value-types*
400
    #:column-literal-value
401
    #:column-type
402
    #:column-value
403
    #:column-size
404
    #:scan-data
405
    #:record-batch
406
    #:record-batch-schema
407
    #:record-batch-fields
408
    #:make-record-batch
409
    #:data-source
410
    #:file-data-source
411
    #:columns
412
    #:column
413
    #:cons-column
414
    #:simple-column
415
    #:simple-cons-column
416
    #:make-schema
417
    #:row-count
418
    #:column-count
419
    #:make-df
420
    #:df-col
421
    #:df
422
    #:data-frame
423
    #:data-frame-plan
424
    #:schema-from-columns
425
    #:df-plan))
426
 
427
 (defpkg :obj/db
428
   (:nicknames :db)
429
   (:use :cl :std :id :sb-mop :sb-pcl :schema :dynamic :plan :config)
430
   (:export
431
    :get-val
432
    :set-val
433
    :ensure-transaction
434
    :dbs
435
    :get-db
436
    :add-db
437
    :make-db
438
    :close-db
439
    :destroy-db
440
    :connect-db
441
    :query-db
442
    :find-db
443
    :db-get
444
    :db
445
    :database
446
    :db-closed-p
447
    :db-open-p
448
    :*db*
449
    :get-value
450
    :insert-key
451
    :insert-kv
452
    :make-kv
453
    :delete-key
454
    :delete-key-ts
455
    :delete-key-range
456
    :make-transaction
457
    :prepare-transaction
458
    :rollback-transaction
459
    :commit-transaction
460
    :flush-db
461
    :sync-db
462
    :repair-db
463
    :backup-db
464
    :restore-db
465
    :snapshot-db
466
    :write-db
467
    :shutdown-db
468
    :ingest-db
469
    :put-kv
470
    :put-key
471
    :put-key-ts
472
    :get-key
473
    :multi-get
474
    :execute-transaction
475
    :abort-transaction
476
    :kv
477
    :make-val
478
    :make-key
479
    :open-db
480
    :kv-key
481
    :kv-val
482
    :database-collection
483
    :remove-kv
484
    :with-transaction
485
    :with-batch-transaction
486
    :*txn*
487
    :transaction-object
488
    :current-transaction
489
    :transaction-store
490
    :database-version
491
    :transaction-db
492
    :transaction-object-p
493
    :known-transaction
494
    :close-column
495
    :close-columns
496
    :find-column
497
    :flush-column
498
    :transaction-prior
499
    :add-column
500
    :open-columns
501
    :merge-kv
502
    :merge-key
503
    :db-stats
504
    :db-metadata
505
    :db-prop
506
    :db-opt
507
    :create-columns
508
    :set-db-opt
509
    :with-temp-db
510
    :with-db
511
    :database-backend-designator
512
    :add-database-loader
513
    :*database-backend-table*
514
    :load-database-backend
515
    :*database-backend-options*
516
    :*database-backend*
517
    :add-database-options
518
    :set-database-loaders
519
    :add-database-backend-option
520
    :set-database-backend-options
521
    :do-database-backend-init-options
522
    :do-database-backend-close-options
523
    :set-database-backend
524
    :set-database-backend-option
525
    :column-opts
526
    :transaction-opts
527
    :db-lock
528
    :simple-transaction
529
    :secondary-db
530
    :db-backup
531
    :db-opts
532
    :*save-database-backend-on-load*
533
    :open-with-columns
534
    :open-columns*
535
    :open-column
536
    :destroy-column
537
    :destroy-columns
538
    :create-column
539
    :db-config
540
    :*database-collection-type*))
541
 
542
 (defpkg :obj/tree
543
   (:nicknames :tree)
544
   (:use :cl :std :obj/id)
545
   (:export :keytype :tree-node :binary-node :unary-node :ternary-node :avl-node
546
            :make-tree-node :make-binary-node :make-unary-node :make-ternary-node :make-avl-node))
547
 
548
 (defpkg :obj/tree/btree
549
   (:nicknames :obj/btree :btree)
550
   (:use :cl :std :obj/tree :stored :db :typed)
551
   (:export
552
    #:existsp
553
    #:btree
554
    #:drop-btree
555
    #:make-indexed-btree
556
    #:build-indexed-btree
557
    #:indexed-btree
558
    #:build-btree
559
    #:map-btree
560
    #:dump-index
561
    #:btree-keys
562
    #:remove-current-kv
563
    #:map-index
564
    #:with-map-index-collector
565
    #:iterate-map-index
566
    #:map-index-values
567
    #:secondary-cursor
568
    #:cursor-set-range
569
    #:cursor-set
570
    #:cursor-prev
571
    #:make-cursor
572
    #:make-simple-cursor
573
    #:cursor-close
574
    #:cursor-duplicate
575
    #:cursor-current
576
    #:cursor-first
577
    #:cursor-last
578
    #:cursor-next
579
    #:cursor
580
    #:cursor-get-both
581
    #:cursor-get-both-range
582
    #:cursor-delete
583
    #:cursor-put
584
    #:cursor-pcurrent
585
    #:cursor-pfirst
586
    #:cursor-plast
587
    #:cursor-pprev
588
    #:cursor-pset
589
    #:cursor-pset-range
590
    #:cursor-pget-both
591
    #:cursor-pget-both-range
592
    #:cursor-next-dup
593
    #:cursor-pnext-dup
594
    #:cursor-pnext-nodup
595
    #:cursor-prev-dup
596
    #:btree-index
597
    #:build-btree-index
598
    #:get-primary-key
599
    #:cursor-initialized-p
600
    #:cursor-oid
601
    #:btree-differ-p
602
    #:print-index-entry
603
    #:print-btree-key-and-type
604
    #:dump-btree
605
    #:print-btree-entry
606
    #:with-btree-cursor))
607
 
608
 (defpkg :obj/secret
609
   (:nicknames :secret)
610
   (:use :cl :std)
611
   (:export :secret :reveal :conceal
612
    :ensure-revealed :ensure-concealed))
613
 
614
 (defpkg :obj/srv
615
   (:nicknames :srv)
616
   (:use :cl :std :config :id)
617
   (:export
618
    :service
619
    #:response-ok-p
620
    #:response-status
621
    #:dispatch-request
622
    #:make-response
623
    #:make-request
624
    #:send-response
625
    #:send-request
626
    #:handle-request
627
    #:process-request
628
    #:bad-request
629
    #:simple-service-warning
630
    #:service-warning
631
    #:simple-service-error
632
    #:service-error
633
    #:service-condition
634
    #:*service*
635
    #:*service-table*
636
    #:*request*
637
    #:*response*
638
    #:in-request-p
639
    #:in-response-p
640
    #:request
641
    #:response
642
    #:service-request-class
643
    #:service-response-class
644
    #:engine
645
    #:restart-service
646
    #:content-stream
647
    #:request-protocol
648
    #:session
649
    #:service-config
650
    #:service-task-kernel
651
    #:service-request
652
    #:service-response))
653
 
654
 (defpkg :obj/cache
655
   (:nicknames :cache)
656
   (:use :cl :std :stored :id :db :schema :config)
657
   (:import-from :std :queue :make-queue)
658
   (:export :cache :cache-cleanup :cache-policy
659
    :cache-size :cache-count :make-cache :cache-release
660
    :with-cache :cache-remove :cache-flush :cache-entry
661
    :entry-expiry :entry-weight :make-cache-table))
662
 
663
 (defpkg :obj/store
664
   (:nicknames :store)
665
   (:use :cl :std :stored :sb-mop :meta :btree :id :db :schema :config :cache)
666
   (:export
667
    #:store
668
    #:next-oid
669
    #:next-cid
670
    #:*store*
671
    #:spec
672
    #:stored-object-schema
673
    #:temp-spec
674
    #:delete-spec
675
    #:copy-spec
676
    #:optimize-layout
677
    #:oid->schema-id
678
    #:default-class-id
679
    #:default-class-id-type
680
    #:reserved-oid-p
681
    #:add-class-store-schema
682
    #:dropped-instance-p
683
    #:drop-instance-slots
684
    #:drop-instance
685
    #:store-recreate-instance
686
    #:recreate-instance
687
    #:recreate-instance-using-class
688
    #:valid-stored-reference-p
689
    #:cross-store-error
690
    #:signal-cross-store-error
691
    #:with-store
692
    #:defstore))
693
 
694
 (setq *defpkg-hook* nil)