-
Notifications
You must be signed in to change notification settings - Fork 8
/
tree-package.lisp
79 lines (77 loc) · 1.38 KB
/
tree-package.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
;;;;; -*- mode: common-lisp; common-lisp-style: modern; coding: utf-8; -*-
;;;;;
(in-package :cl-user)
(defpackage :tree
(:documentation "")
(:use :closer-common-lisp :contextl :macro)
(:import-from :cl-ctrie :transient :persistent :cvm :weight-balanced :height-balanced)
(:export
:balanced
:height-balanced
:weight-balanced
:merge-direction
:leaf
:empty
:empty?
:node
:kv
:lr
:kvlr
:kvlrx
:kvlrs
:kvlrh
:node/k
:node/v
:node/l
:node/r
:node/x
:node/s
:node/h
:node/kv
:node/lr
:node/kvlr
:node/kvlrx
:node/kvlrs
:node/kvlrh
:node/constituents
:node/values
:node/call
:node/size
:node/weight
:node/height
:node/create
:node/join
:node/singleton
:node/least
:node/greatest
:node/remove-least
:node/remove-greatest
:node/concat2
:node/inorder-fold
:node/reverse-fold
:node/iter
:node/at-index
:node/find
:node/add
:node/remove
:node/concat3
:node/concat
:node/split-lesser
:node/split-greater
:node/split
:node/union
:node/union-merge
:node/intersection
:node/difference
:node/subset?
:node/from
:node/member?
:node/cons-enum
:node/contains?
:node/rank
:node/for-all
:+delta+
:+gamma+
:node/empty?
:layer
:allocation))