aboutsummaryrefslogtreecommitdiffstats
path: root/mcgoron.weight-balanced-trees.internal.sld
blob: ac85deef7bc40f24868759fc9bb39f1bf9f71916 (plain) (blame)
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
#| Copyright 2024 Peter McGoron
 |
 | Licensed under the Apache License, Version 2.0 (the "License");
 | you may not use this file except in compliance with the License.
 | You may obtain a copy of the License at
 |
 |     http://www.apache.org/licenses/LICENSE-2.0
 |
 | Unless required by applicable law or agreed to in writing, software
 | distributed under the License is distributed on an "AS IS" BASIS,
 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | See the License for the specific language governing permissions and
 | limitations under the License.
 |#

(define-library (mcgoron weight-balanced-trees internal)
  (import (scheme base) (scheme case-lambda)
          (srfi 128))
  (cond-expand
    ;; Handle type declarations
    (chicken (import (chicken type)))
    (else (begin
            (define-syntax :
              (syntax-rules ()
                ((: dummy ...) (begin))))
            (define-syntax the
              (syntax-rules ()
                ((the type expression) expression))))))
  (export wb-tree-node? non-null-wb-tree-node?
          get-data get-left get-right get-size
          balanced?
          in-order-vector->node
          node->in-order-list
          join join2 split
          search
          union intersection difference
          every)
  (include "mcgoron.weight-balanced-trees.internal.scm"))