#4342: Review containers changes
----------------------------------+-----------------------------------------
    Reporter:  igloo              |        Owner:              
        Type:  bug                |       Status:  new         
    Priority:  high               |    Milestone:  7.2.1       
   Component:  libraries (other)  |      Version:  7.1         
    Keywords:                     |     Testcase:              
   Blockedby:                     |   Difficulty:              
          Os:  Unknown/Multiple   |     Blocking:              
Architecture:  Unknown/Multiple   |      Failure:  None/Unknown
----------------------------------+-----------------------------------------

Comment(by milan):

 Hi,

 the new version of the patch is attached. There were only trivial renames
 to silence the warnings (defined but not used variables and name
 shadowings) and comments to the source code explaining the subtleties.

 The new version is attached here and also present in the mentioned
 repository http://fox.auryn.cz/darcs/containers/.

 Looking at the igloo's mail with issues, these are still unresolved:
 > There are some things I'll leave to the containers experts to review:
 > I haven't checked the balance/balanceL/balanceR changes at all (neither
 the definitions, nor the calls).

 > I haven't checked the <= to < change in join and merge.
 These two points are connected -- the rebalance was not done in accordance
 with the original paper, but a bit sooner. Now it is rebalanced after the
 balance is lost, not when it is just on the boundary.

 Other than that, balance is just trivial inlines of rotateL && others. The
 original definition is kept in the source for reference. The balanceL and
 balanceR are just parts of balance, where the balance condition can be
 broken only in one subtree.

 > I haven't checked the change of delta from 4 to 3.
 I have a proof that it is correct. I am writing it down, but did not have
 enough time yet (the time frame is weeks). But there is no published proof
 that delta=4 is currect neither :)

 > I haven't checked the trim changes.

 > I haven't checked the union*/diff*/hedge* changes.
 These two points are also connected -- replace a lambda functions
 performing comparison (with possibly infinity element) by a Maybe bound.
 The paper cites the improvement of performance, I do not recall now.


 Cheers,
 Milan

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4342#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to