diff options
Diffstat (limited to 'stdlib/source/library/lux/data/collection/dictionary/ordered.lux')
-rw-r--r-- | stdlib/source/library/lux/data/collection/dictionary/ordered.lux | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/stdlib/source/library/lux/data/collection/dictionary/ordered.lux b/stdlib/source/library/lux/data/collection/dictionary/ordered.lux index 49d4068d5..ef9e53973 100644 --- a/stdlib/source/library/lux/data/collection/dictionary/ordered.lux +++ b/stdlib/source/library/lux/data/collection/dictionary/ordered.lux @@ -19,15 +19,17 @@ "Invariant violation") (type: Color - #Red - #Black) + (Variant + #Red + #Black)) (type: (Node k v) - {#color Color - #key k - #value v - #left (Maybe (Node k v)) - #right (Maybe (Node k v))}) + (Record + {#color Color + #key k + #value v + #left (Maybe (Node k v)) + #right (Maybe (Node k v))})) (template [<create> <color>] [(def: (<create> key value left right) @@ -43,8 +45,9 @@ ) (type: .public (Dictionary k v) - {#&order (Order k) - #root (Maybe (Node k v))}) + (Record + {#&order (Order k) + #root (Maybe (Node k v))})) (def: .public (empty order) (All [k v] (-> (Order k) (Dictionary k v))) @@ -352,7 +355,7 @@ (#.Some (right_balanced (value@ #key right) (value@ #value right) (value@ #right right>>left) - (\ maybe.functor map reddened (value@ #right right))))) + (\ maybe.functor each reddened (value@ #right right))))) _ (panic! error_message)) @@ -379,7 +382,7 @@ (value@ #value left>>right) (#.Some (left_balanced (value@ #key left) (value@ #value left) - (\ maybe.functor map reddened (value@ #left left)) + (\ maybe.functor each reddened (value@ #left left)) (value@ #left left>>right))) (#.Some (black key value (value@ #right left>>right) ?right))) @@ -547,7 +550,7 @@ (list) (#.Some node') - ($_ list\compose + ($_ list\composite (recur (value@ #left node')) (list <output>) (recur (value@ #right node'))))))] |