36 lines
961 B
Common Lisp
36 lines
961 B
Common Lisp
(be color (R))
|
|
(be color (B))
|
|
|
|
(be tree (@ E))
|
|
(be tree (@P (T @C @L @X @R))
|
|
(color @C)
|
|
(tree @P @L)
|
|
(call @P @X)
|
|
(tree @P @R) )
|
|
|
|
(be bal (B (T R (T R @A @X @B) @Y @C) @Z @D (T R (T B @A @X @B) @Y (T B @C @Z @D))))
|
|
(be bal (B (T R @A @X (T R @B @Y @C)) @Z @D (T R (T B @A @X @B) @Y (T B @C @Z @D))))
|
|
(be bal (B @A @X (T R (T R @B @Y @C) @Z @D) (T R (T B @A @X @B) @Y (T B @C @Z @D))))
|
|
(be bal (B @A @X (T R @B @Y (T R @C @Z @D)) (T R (T B @A @X @B) @Y (T B @C @Z @D))))
|
|
|
|
(be balance (@C @A @X @B @S)
|
|
(bal @C @A @X @B @S)
|
|
T )
|
|
(be balance (@C @A @X @B (T @C @A @X @B)))
|
|
|
|
(be ins (@X E (T R E @X E)))
|
|
(be ins (@X (T @C @A @Y @B) @R)
|
|
(^ @ (> (-> @Y) (-> @X)))
|
|
(ins @X @A @Ao)
|
|
(balance @C @Ao @Y @B @R)
|
|
T )
|
|
(be ins (@X (T @C @A @Y @B) @R)
|
|
(^ @ (> (-> @X) (-> @Y)))
|
|
(ins @X @B @Bo)
|
|
(balance @C @A @Y @Bo @R)
|
|
T )
|
|
(be ins (@X (T @C @A @Y @B) (T @C @A @Y @B)))
|
|
|
|
(be insert (@X @S (T B @A @Y @B))
|
|
(ins @X @S (T @ @A @Y @B)) )
|