unisonweb / base_v1

Unison base libraries, published using V1 codebase format
24 stars 14 forks source link

Fix balancing bug in `Map.internal.link` #72

Closed runarorama closed 3 years ago

runarorama commented 3 years ago

The changes summarized below are available for you to review, using the following command:

pull-request.load https://github.com/unisonweb/base:.trunk https://github.com/runarorama/mybase:.fixmaplink

Updates:

 Bag.difference : Bag a -> Bag a -> Bag a
 -  base.Bag.difference.doc       : Doc
 +  fixMapLink.Bag.difference.doc : Doc

 Bag.size : Bag a -> Nat
 -  base.Bag.size.doc       : Doc
 +  fixMapLink.Bag.size.doc : Doc

 List.filterMap : (a ->{š•–} Optional b) -> [a] ->{š•–} [b]
 -  base.List.filterMap.doc       : Doc
 +  fixMapLink.List.filterMap.doc : Doc

 List.groupBy : (v ->{e} k) -> [v] ->{e} Map k (Nonempty v)
 -  base.List.groupBy.doc       : Doc
 +  fixMapLink.List.groupBy.doc : Doc

 List.groupMap : (a ->{e} k) -> (a ->{e} v) -> [a] ->{e} Map k (Nonempty v)
 -  base.List.groupMap.doc       : Doc
 +  fixMapLink.List.groupMap.doc : Doc

 List.groupMapReduce : (a ->{e} k) -> (a ->{e} v) -> (v ->{e} v ->{e} v) -> [a] ->{e} Map k v
 -  base.List.groupMapReduce.doc       : Doc
 +  fixMapLink.List.groupMapReduce.doc : Doc

 List.zipWith : (a ->{š•–} b ->{š•–} c) -> [a] -> [b] ->{š•–} [c]
 -  base.List.zipWith.doc       : Doc
 +  fixMapLink.List.zipWith.doc : Doc

 Map.adjust : (v ->{e} v) -> k -> Map k v ->{e} Map k v
 -  base.Map.adjust.doc       : Doc
 +  fixMapLink.Map.adjust.doc : Doc

 Map.adjustWithKey : (k ->{e} v ->{e} v) -> k -> Map k v ->{e} Map k v
 -  base.Map.adjustWithKey.doc       : Doc
 +  fixMapLink.Map.adjustWithKey.doc : Doc

 Map.alter : (Optional v ->{e} Optional v) -> k -> Map k v ->{e} Map k v
 -  base.Map.alter.doc       : Doc
 +  fixMapLink.Map.alter.doc : Doc

 Map.breakOffMax : Map k v -> Optional ((k, v), Map k v)
 -  base.Map.breakOffMax.doc       : Doc
 +  fixMapLink.Map.breakOffMax.doc : Doc

 Map.breakOffMin : Map k v -> Optional ((k, v), Map k v)
 -  base.Map.breakOffMin.doc       : Doc
 +  fixMapLink.Map.breakOffMin.doc : Doc

 Map.foldLeft : (a ->{e} b ->{e} a) -> a -> Map k b ->{e} a
 -  base.Map.foldLeft.doc       : Doc
 +  fixMapLink.Map.foldLeft.doc : Doc

 Map.foldLeftWithKey : (a ->{e} k ->{e} b ->{e} a) -> a -> Map k b ->{e} a
 -  base.Map.foldLeftWithKey.doc       : Doc
 +  fixMapLink.Map.foldLeftWithKey.doc : Doc

 Map.foldRight : (a ->{e} b ->{e} b) -> b -> Map k a ->{e} b
 -  base.Map.foldRight.doc       : Doc
 +  fixMapLink.Map.foldRight.doc : Doc

 Map.foldRightWithKey : (k ->{e} a ->{e} b ->{e} b) -> b -> Map k a ->{e} b
 -  base.Map.foldRightWithKey.doc       : Doc
 +  fixMapLink.Map.foldRightWithKey.doc : Doc

 Map.fromListWith : (v ->{e} v ->{e} v) -> [(k, v)] ->{e} Map k v
 -  base.Map.fromListWith.doc       : Doc
 +  fixMapLink.Map.fromListWith.doc : Doc

 Map.fromListWithKey : (k ->{e} v ->{e} v ->{e} v) -> [(k, v)] ->{e} Map k v
 -  base.Map.fromListWithKey.doc       : Doc
 +  fixMapLink.Map.fromListWithKey.doc : Doc

 Map.getOrElse : v -> k -> Map k v -> v
 -  base.Map.getOrElse.doc       : Doc
 +  fixMapLink.Map.getOrElse.doc : Doc

 Map.internal.link : k -> v -> Map k v -> Map k v -> Map k v
 ā†“
 Map.internal.link : k ->{g} v ->{g} Map k v ->{g} Map k v ->{g} Map k v
 +  unisoncomputing2020       : License
 +  datamapinternal           : License
 +  authors.andriypalamarchuk : Author
 +  runarorama                : Author
 +  authors.daanleijen        : Author

 Map.map : (a ->{e} b) -> Map k a ->{e} Map k b
 -  base.Map.map.doc       : Doc
 +  fixMapLink.Map.map.doc : Doc

 Map.mapKeysWith : (v ->{g} v ->{g} v) -> (k1 ->{g} k2) -> Map k1 v ->{g} Map k2 v
 -  base.Map.mapKeysWith.doc       : Doc
 +  fixMapLink.Map.mapKeysWith.doc : Doc

 Map.mapWithKey : (k ->{e} a ->{e} b) -> Map k a ->{e} Map k b
 -  base.Map.mapWithKey.doc       : Doc
 +  fixMapLink.Map.mapWithKey.doc : Doc

 Map.putWith : (v ->{e} v ->{e} v) -> k -> v -> Map k v ->{e} Map k v
 -  base.Map.putWith.doc       : Doc
 +  fixMapLink.Map.putWith.doc : Doc

 Map.putWithKey : (k ->{e} v ->{e} v ->{e} v) -> k -> v -> Map k v ->{e} Map k v
 -  base.Map.putWithKey.doc       : Doc
 +  fixMapLink.Map.putWithKey.doc : Doc

 Map.update : (v ->{e} Optional v) -> k -> Map k v ->{e} Map k v
 -  base.Map.update.doc       : Doc
 +  fixMapLink.Map.update.doc : Doc

 Map.updateWithKey : (k ->{e} v ->{e} Optional v) -> k -> Map k v ->{e} Map k v
 -  base.Map.updateWithKey.doc       : Doc
 +  fixMapLink.Map.updateWithKey.doc : Doc

 Trie.gen : '{Gen} k -> '{Gen} v -> '{Gen} #ps42cgn378 k v
 ā†“
 Trie.gen : '{Gen} k ->{Gen} '{Gen} v ->{Gen} '{Gen} Trie k v
 +  unisoncomputing2020 : License
 +  runarorama          : Author

 Trie.union.tests.values : [Result]
 ā†“
 Trie.union.tests.values : [Result]
 +  unisoncomputing2020 : License
 +  isTest              : IsTest
 +  runarorama          : Author

 Trie.values : #ps42cgn378 k v -> [v]
 ā†“
 Trie.values : Trie k v -> [v]
 +  unisoncomputing2020 : License
 +  runarorama          : Author

 Tuple.at1 : Tuple a b -> a
 -  base.Tuple.at1.doc       : Doc
 +  fixMapLink.Tuple.at1.doc : Doc

 Tuple.at2 : Tuple a (Tuple b c) -> b
 -  base.Tuple.at2.doc       : Doc
 +  fixMapLink.Tuple.at2.doc : Doc

 Tuple.at3 : Tuple a (Tuple b (Tuple c d)) -> c
 -  base.Tuple.at3.doc       : Doc
 +  fixMapLink.Tuple.at3.doc : Doc

 Tuple.at4 : Tuple a (Tuple b (Tuple c (Tuple d e))) -> d
 -  base.Tuple.at4.doc       : Doc
 +  fixMapLink.Tuple.at4.doc : Doc

There were 479 auto-propagated updates.

 patch patch (added 4 updates)
runarorama commented 3 years ago

Merged in base hash #9mgpv7kie5.