trees, cleanup privates
parent
8b136cdd6d
commit
e0bd21e24a
|
@ -369,8 +369,6 @@ DEFER: delete-node
|
|||
] with-side
|
||||
] if ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
M: tree delete-at
|
||||
[ delete-bst-node swap ] change-root
|
||||
swap [ dup dec-count ] when drop ;
|
||||
|
@ -378,8 +376,6 @@ M: tree delete-at
|
|||
M: tree new-assoc
|
||||
2drop <tree> ;
|
||||
|
||||
<PRIVATE
|
||||
|
||||
: clone-nodes ( node -- node' )
|
||||
dup [
|
||||
clone
|
||||
|
@ -387,25 +383,25 @@ M: tree new-assoc
|
|||
[ clone-nodes ] change-right
|
||||
] when ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
M: tree clone (clone) [ clone-nodes ] change-root ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: >tree ( assoc -- tree )
|
||||
T{ tree f f 0 } assoc-clone-like ;
|
||||
|
||||
M: tree assoc-like drop dup tree? [ >tree ] unless ;
|
||||
|
||||
SYNTAX: TREE{
|
||||
\ } [ >tree ] parse-literal ;
|
||||
|
||||
<PRIVATE
|
||||
|
||||
M: tree assoc-like drop dup tree? [ >tree ] unless ;
|
||||
|
||||
M: tree assoc-size count>> ;
|
||||
M: tree pprint-delims drop \ TREE{ \ } ;
|
||||
M: tree >pprint-sequence >alist ;
|
||||
M: tree pprint-narrow? drop t ;
|
||||
|
||||
<PRIVATE
|
||||
|
||||
: node-height ( node -- n )
|
||||
[
|
||||
[ left>> ] [ right>> ] bi
|
||||
|
|
Loading…
Reference in New Issue