Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
35
Task/Algebraic-data-types/PicoLisp/algebraic-data-types-1.l
Normal file
35
Task/Algebraic-data-types/PicoLisp/algebraic-data-types-1.l
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
(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)) )
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
: (? (insert 2 E @A) (insert 1 @A @B) (insert 3 @B @C))
|
||||
@A=(T B E 2 E) @B=(T B (T R E 1 E) 2 E) @C=(T B (T R E 1 E) 2 (T R E 3 E))
|
||||
-> NIL
|
||||
Loading…
Add table
Add a link
Reference in a new issue