@@ -856,17 +856,14 @@ applicativeTree n mSize m = mSize `seq` case n of
856
856
4 -> deepA two emptyTree two
857
857
5 -> deepA three emptyTree two
858
858
6 -> deepA three emptyTree three
859
- 7 -> deepA four emptyTree three
860
- 8 -> deepA four emptyTree four
861
859
_ -> case n `quotRem` 3 of
862
860
(q,0 ) -> deepA three (applicativeTree (q - 2 ) mSize' n3) three
863
- (q,1 ) -> deepA four (applicativeTree (q - 2 ) mSize' n3) three
864
- (q,_) -> deepA four (applicativeTree (q - 2 ) mSize' n3) four
861
+ (q,1 ) -> deepA two (applicativeTree (q - 1 ) mSize' n3) two
862
+ (q,_) -> deepA three (applicativeTree (q - 1 ) mSize' n3) two
865
863
where
866
864
one = fmap One m
867
865
two = liftA2 Two m m
868
866
three = liftA3 Three m m m
869
- four = liftA3 Four m m m <*> m
870
867
deepA = liftA3 (Deep (n * mSize))
871
868
mSize' = 3 * mSize
872
869
n3 = liftA3 (Node3 mSize') m m m
@@ -2335,7 +2332,7 @@ unstableSortBy cmp (Seq xs) =
2335
2332
toPQ cmp (\ (Elem x) -> PQueue x Nil ) xs
2336
2333
2337
2334
-- | fromList2, given a list and its length, constructs a completely
2338
- -- balanced Seq whose elements are that list using the applicativeTree
2335
+ -- balanced Seq whose elements are that list using the replicateA
2339
2336
-- generalization.
2340
2337
fromList2 :: Int -> [a ] -> Seq a
2341
2338
fromList2 n = execState (replicateA n (State ht))
0 commit comments