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