Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update references
Browse files Browse the repository at this point in the history
* Add or update links
* Correct some titles
* Add a reference to "Balancing weight-balanced trees"
meooow25 committed Sep 13, 2024

Verified

This commit was signed with the committer’s verified signature.
ImgBotApp Imgbot
1 parent e3bd02d commit 4ea7eb5
Showing 10 changed files with 79 additions and 40 deletions.
7 changes: 5 additions & 2 deletions containers/src/Data/Graph.hs
Original file line number Diff line number Diff line change
@@ -36,8 +36,11 @@
--
-- The implementation is based on
--
-- * /Structuring Depth-First Search Algorithms in Haskell/,
-- by David King and John Launchbury, <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.6526>
-- * David King and John Launchbury,
-- \"/Structuring Depth-First Search Algorithms in Haskell/\",
-- Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of
-- Programming Languages, 344-354, 1995,
-- <https://doi.org/10.1145/199448.199530>.
--
-----------------------------------------------------------------------------

11 changes: 7 additions & 4 deletions containers/src/Data/IntMap.hs
Original file line number Diff line number Diff line change
@@ -41,12 +41,15 @@
-- (much) faster on insertions and deletions when compared to a generic
-- size-balanced map implementation (see "Data.Map").
--
-- * Chris Okasaki and Andy Gill, \"/Fast Mergeable Integer Maps/\",
-- * Chris Okasaki and Andy Gill,
-- \"/Fast Mergeable Integer Maps/\",
-- Workshop on ML, September 1998, pages 77-86,
-- <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5452>
-- <https://ittc.ku.edu/~andygill/papers/IntMap98.pdf>.
--
-- * D.R. Morrison, \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534.
-- * D.R. Morrison,
-- \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534,
-- <https://doi.org/10.1145/321479.321481>.
--
-- Operation comments contain the operation time complexity in
-- the Big-O notation <http://en.wikipedia.org/wiki/Big_O_notation>.
11 changes: 7 additions & 4 deletions containers/src/Data/IntMap/Lazy.hs
Original file line number Diff line number Diff line change
@@ -56,12 +56,15 @@
-- on insertions and deletions when compared to a generic size-balanced map
-- implementation (see "Data.Map").
--
-- * Chris Okasaki and Andy Gill, \"/Fast Mergeable Integer Maps/\",
-- * Chris Okasaki and Andy Gill,
-- \"/Fast Mergeable Integer Maps/\",
-- Workshop on ML, September 1998, pages 77-86,
-- <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5452>
-- <https://ittc.ku.edu/~andygill/papers/IntMap98.pdf>.
--
-- * D.R. Morrison, \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534.
-- * D.R. Morrison,
-- \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534,
-- <https://doi.org/10.1145/321479.321481>.
--
-----------------------------------------------------------------------------

11 changes: 7 additions & 4 deletions containers/src/Data/IntMap/Strict.hs
Original file line number Diff line number Diff line change
@@ -73,12 +73,15 @@
-- on insertions and deletions when compared to a generic size-balanced map
-- implementation (see "Data.Map").
--
-- * Chris Okasaki and Andy Gill, \"/Fast Mergeable Integer Maps/\",
-- * Chris Okasaki and Andy Gill,
-- \"/Fast Mergeable Integer Maps/\",
-- Workshop on ML, September 1998, pages 77-86,
-- <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5452>
-- <https://ittc.ku.edu/~andygill/papers/IntMap98.pdf>.
--
-- * D.R. Morrison, \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534.
-- * D.R. Morrison,
-- \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534,
-- <https://doi.org/10.1145/321479.321481>.
--
-----------------------------------------------------------------------------

11 changes: 7 additions & 4 deletions containers/src/Data/IntSet.hs
Original file line number Diff line number Diff line change
@@ -45,12 +45,15 @@
-- (much) faster on insertions and deletions when compared to a generic
-- size-balanced set implementation (see "Data.Set").
--
-- * Chris Okasaki and Andy Gill, \"/Fast Mergeable Integer Maps/\",
-- * Chris Okasaki and Andy Gill,
-- \"/Fast Mergeable Integer Maps/\",
-- Workshop on ML, September 1998, pages 77-86,
-- <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5452>
-- <https://ittc.ku.edu/~andygill/papers/IntMap98.pdf>.
--
-- * D.R. Morrison, \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534.
-- * D.R. Morrison,
-- \"/PATRICIA -- Practical Algorithm To Retrieve Information Coded In Alphanumeric/\",
-- Journal of the ACM, 15(4), October 1968, pages 514-534,
-- <https://doi.org/10.1145/321479.321481>.
--
-- Additionally, this implementation places bitmaps in the leaves of the tree.
-- Their size is the natural size of a machine word (32 or 64 bits) and greatly
16 changes: 11 additions & 5 deletions containers/src/Data/Map.hs
Original file line number Diff line number Diff line change
@@ -36,19 +36,25 @@
-- The implementation of 'Map' is based on /size balanced/ binary trees (or
-- trees of /bounded balance/) as described by:
--
-- * Stephen Adams, \"/Efficient sets: a balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <http://www.swiss.ai.mit.edu/~adams/BB/>.
-- * Stephen Adams, \"/Efficient sets—a balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <https://doi.org/10.1017/S0956796800000885>,
-- <https://groups.csail.mit.edu/mac/users/adams/BB/index.html>.
-- * J. Nievergelt and E.M. Reingold,
-- \"/Binary search trees of bounded balance/\",
-- SIAM journal of computing 2(1), March 1973.
-- <https://doi.org/10.1137/0202005>.
-- * Yoichi Hirai and Kazuhiko Yamamoto,
-- \"/Balancing weight-balanced trees/\",
-- Journal of Functional Programming 21(3):287-307, 2011,
-- <https://doi.org/10.1017/S0956796811000104>
--
-- Bounds for 'union', 'intersection', and 'difference' are as given
-- by
--
-- * Guy Blelloch, Daniel Ferizovic, and Yihan Sun,
-- \"/Just Join for Parallel Ordered Sets/\",
-- <https://arxiv.org/abs/1602.02120v3>.
-- \"/Parallel Ordered Sets Using Join/\",
-- <https://arxiv.org/abs/1602.02120v4>.
--
-- Note that the implementation is /left-biased/ -- the elements of a
-- first argument are always preferred to the second, for example in
16 changes: 11 additions & 5 deletions containers/src/Data/Map/Lazy.hs
Original file line number Diff line number Diff line change
@@ -68,19 +68,25 @@
-- The implementation of 'Map' is based on /size balanced/ binary trees (or
-- trees of /bounded balance/) as described by:
--
-- * Stephen Adams, \"/Efficient sets: a balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <http://www.swiss.ai.mit.edu/~adams/BB/>.
-- * Stephen Adams, \"/Efficient sets—a balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <https://doi.org/10.1017/S0956796800000885>,
-- <https://groups.csail.mit.edu/mac/users/adams/BB/index.html>.
-- * J. Nievergelt and E.M. Reingold,
-- \"/Binary search trees of bounded balance/\",
-- SIAM journal of computing 2(1), March 1973.
-- <https://doi.org/10.1137/0202005>.
-- * Yoichi Hirai and Kazuhiko Yamamoto,
-- \"/Balancing weight-balanced trees/\",
-- Journal of Functional Programming 21(3):287-307, 2011,
-- <https://doi.org/10.1017/S0956796811000104>
--
-- Bounds for 'union', 'intersection', and 'difference' are as given
-- by
--
-- * Guy Blelloch, Daniel Ferizovic, and Yihan Sun,
-- \"/Just Join for Parallel Ordered Sets/\",
-- <https://arxiv.org/abs/1602.02120v3>.
-- \"/Parallel Ordered Sets Using Join/\",
-- <https://arxiv.org/abs/1602.02120v4>.
--
-----------------------------------------------------------------------------

16 changes: 11 additions & 5 deletions containers/src/Data/Map/Strict.hs
Original file line number Diff line number Diff line change
@@ -80,19 +80,25 @@
-- The implementation of 'Map' is based on /size balanced/ binary trees (or
-- trees of /bounded balance/) as described by:
--
-- * Stephen Adams, \"/Efficient sets: a balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <http://www.swiss.ai.mit.edu/~adams/BB/>.
-- * Stephen Adams, \"/Efficient sets—a balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <https://doi.org/10.1017/S0956796800000885>,
-- <https://groups.csail.mit.edu/mac/users/adams/BB/index.html>.
-- * J. Nievergelt and E.M. Reingold,
-- \"/Binary search trees of bounded balance/\",
-- SIAM journal of computing 2(1), March 1973.
-- <https://doi.org/10.1137/0202005>.
-- * Yoichi Hirai and Kazuhiko Yamamoto,
-- \"/Balancing weight-balanced trees/\",
-- Journal of Functional Programming 21(3):287-307, 2011,
-- <https://doi.org/10.1017/S0956796811000104>
--
-- Bounds for 'union', 'intersection', and 'difference' are as given
-- by
--
-- * Guy Blelloch, Daniel Ferizovic, and Yihan Sun,
-- \"/Just Join for Parallel Ordered Sets/\",
-- <https://arxiv.org/abs/1602.02120v3>.
-- \"/Parallel Ordered Sets Using Join/\",
-- <https://arxiv.org/abs/1602.02120v4>.
--
--
-----------------------------------------------------------------------------
6 changes: 3 additions & 3 deletions containers/src/Data/Sequence.hs
Original file line number Diff line number Diff line change
@@ -127,9 +127,9 @@
-- as described in section 4.2 of
--
-- * Ralf Hinze and Ross Paterson,
-- [\"Finger trees: a simple general-purpose data structure\"]
-- (http://staff.city.ac.uk/~ross/papers/FingerTree.html),
-- /Journal of Functional Programming/ 16:2 (2006) pp 197-217.
-- \"/Finger trees: a simple general-purpose data structure/\",
-- Journal of Functional Programming 16:2 (2006) pp 197-217.
-- <http://staff.city.ac.uk/~ross/papers/FingerTree.html>.
--
-----------------------------------------------------------------------------

14 changes: 10 additions & 4 deletions containers/src/Data/Set.hs
Original file line number Diff line number Diff line change
@@ -48,19 +48,25 @@
-- The implementation of 'Set' is based on /size balanced/ binary trees (or
-- trees of /bounded balance/) as described by:
--
-- * Stephen Adams, \"/Efficient sets: a balancing act/\",
-- * Stephen Adams, \"/Efficient setsa balancing act/\",
-- Journal of Functional Programming 3(4):553-562, October 1993,
-- <http://www.swiss.ai.mit.edu/~adams/BB/>.
-- <https://doi.org/10.1017/S0956796800000885>,
-- <https://groups.csail.mit.edu/mac/users/adams/BB/index.html>.
-- * J. Nievergelt and E.M. Reingold,
-- \"/Binary search trees of bounded balance/\",
-- SIAM journal of computing 2(1), March 1973.
-- <https://doi.org/10.1137/0202005>.
-- * Yoichi Hirai and Kazuhiko Yamamoto,
-- \"/Balancing weight-balanced trees/\",
-- Journal of Functional Programming 21(3):287-307, 2011,
-- <https://doi.org/10.1017/S0956796811000104>
--
-- Bounds for 'union', 'intersection', and 'difference' are as given
-- by
--
-- * Guy Blelloch, Daniel Ferizovic, and Yihan Sun,
-- \"/Just Join for Parallel Ordered Sets/\",
-- <https://arxiv.org/abs/1602.02120v3>.
-- \"/Parallel Ordered Sets Using Join/\",
-- <https://arxiv.org/abs/1602.02120v4>.
--
-----------------------------------------------------------------------------

0 comments on commit 4ea7eb5

Please sign in to comment.