Prog "TableRBT" ["Prelude","RedBlackTree"] [TypeSyn ("TableRBT","TableRBT") Public [0,1] (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])] [Func ("TableRBT","emptyTableRBT") 1 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [1] (Comb FuncCall ("RedBlackTree","empty") [Comb (FuncPartCall 2) ("TableRBT","emptyTableRBT._#lambda2") [],Comb (FuncPartCall 2) ("TableRBT","emptyTableRBT._#lambda3") [],Comb (FuncPartCall 2) ("TableRBT","emptyTableRBT._#lambda4") [Var 1]])),Func ("TableRBT","emptyTableRBT._#lambda2") 2 Private (FuncType (TCons ("Prelude","(,)") [TVar 22,TVar 23]) (FuncType (TCons ("Prelude","(,)") [TVar 22,TVar 23]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","fst") [Var 1],Comb FuncCall ("Prelude","fst") [Var 2]])),Func ("TableRBT","emptyTableRBT._#lambda3") 2 Private (FuncType (TCons ("Prelude","(,)") [TVar 22,TVar 23]) (FuncType (TCons ("Prelude","(,)") [TVar 22,TVar 23]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","fst") [Var 1],Comb FuncCall ("Prelude","fst") [Var 2]])),Func ("TableRBT","emptyTableRBT._#lambda4") 3 Private (FuncType (FuncType (TVar 22) (FuncType (TVar 22) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","(,)") [TVar 22,TVar 23]) (FuncType (TCons ("Prelude","(,)") [TVar 22,TVar 23]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Comb FuncCall ("Prelude","fst") [Var 2]],Comb FuncCall ("Prelude","fst") [Var 3]])),Func ("TableRBT","isEmptyTable") 0 Public (FuncType (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("RedBlackTree","isEmpty") [])),Func ("TableRBT","lookupRBT") 1 Public (FuncType (TVar 0) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","Maybe") [TVar 1]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","maybe") [Comb ConsCall ("Prelude","Nothing") [],Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Prelude","Just") [],Comb (FuncPartCall 1) ("Prelude","snd") []]],Comb (FuncPartCall 1) ("RedBlackTree","lookup") [Comb ConsCall ("Prelude","(,)") [Var 1,Comb FuncCall ("Prelude","failed") []]]])),Func ("TableRBT","updateRBT") 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])))) (Rule [1,2] (Comb (FuncPartCall 1) ("RedBlackTree","update") [Comb ConsCall ("Prelude","(,)") [Var 1,Var 2]])),Func ("TableRBT","tableRBT2list") 0 Public (FuncType (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [] (Comb (FuncPartCall 1) ("RedBlackTree","tree2list") [])),Func ("TableRBT","deleteRBT") 1 Public (FuncType (TVar 0) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("RedBlackTree","RedBlackTree") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]))) (Rule [1] (Comb (FuncPartCall 1) ("RedBlackTree","delete") [Comb ConsCall ("Prelude","(,)") [Var 1,Comb FuncCall ("Prelude","failed") []]]))] []