@@ -181,6 +181,7 @@ sf_tail p = (tail . L.filter p) `eqP` (unpackS . S.tail . S.filter p)
181t_tail = tail `eqP` (unpackS . T.tail)
181t_tail = tail `eqP` (unpackS . T.tail)
182tl_tail = tail `eqP` (unpackS . TL.tail)
182tl_tail = tail `eqP` (unpackS . TL.tail)
183s_init = init `eqP` (unpackS . S.init)
183s_init = init `eqP` (unpackS . S.init)
184+s_init_s = init `eqP` (unpackS . S.unstream . S.init)
184sf_init p = (init . L.filter p) `eqP` (unpackS . S.init . S.filter p)
185sf_init p = (init . L.filter p) `eqP` (unpackS . S.init . S.filter p)
185t_init = init `eqP` (unpackS . T.init)
186t_init = init `eqP` (unpackS . T.init)
186tl_init = init `eqP` (unpackS . TL.init)
187tl_init = init `eqP` (unpackS . TL.init)
@@ -194,12 +195,14 @@ t_length = length `eqP` T.length
194tl_length = length `eqP` (fromIntegral . TL.length)
195tl_length = length `eqP` (fromIntegral . TL.length)
196s_map f = map f `eqP` (unpackS . S.map f)
197s_map f = map f `eqP` (unpackS . S.map f)
198+s_map_s f = map f `eqP` (unpackS . S.unstream . S.map f)
197sf_map p f = (map f . L.filter p) `eqP` (unpackS . S.map f . S.filter p)
199sf_map p f = (map f . L.filter p) `eqP` (unpackS . S.map f . S.filter p)
198t_map f = map f `eqP` (unpackS . T.map f)
200t_map f = map f `eqP` (unpackS . T.map f)
199tl_map f = map f `eqP` (unpackS . TL.map f)
201tl_map f = map f `eqP` (unpackS . TL.map f)
200t_intercalate c = unsquare (L.intercalate c `eq` (unpackS . T.intercalate (packS c) . map packS))
202t_intercalate c = unsquare (L.intercalate c `eq` (unpackS . T.intercalate (packS c) . map packS))
201tl_intercalate c = unsquare (L.intercalate c `eq` (unpackS . TL.intercalate (TL.pack c) . map TL.pack))
203tl_intercalate c = unsquare (L.intercalate c `eq` (unpackS . TL.intercalate (TL.pack c) . map TL.pack))
202s_intersperse c = L.intersperse c `eqP` (unpackS . S.intersperse c)
204s_intersperse c = L.intersperse c `eqP` (unpackS . S.intersperse c)
205+s_intersperse_s c = L.intersperse c `eqP` (unpackS . S.unstream . S.intersperse c)
203sf_intersperse p c= (L.intersperse c . L.filter p) `eqP` (unpackS . S.intersperse c . S.filter p)
206sf_intersperse p c= (L.intersperse c . L.filter p) `eqP` (unpackS . S.intersperse c . S.filter p)
204t_intersperse c = L.intersperse c `eqP` (unpackS . T.intersperse c)
207t_intersperse c = L.intersperse c `eqP` (unpackS . T.intersperse c)
205tl_intersperse c = L.intersperse c `eqP` (unpackS . TL.intersperse c)
208tl_intersperse c = L.intersperse c `eqP` (unpackS . TL.intersperse c)
@@ -247,6 +250,7 @@ justifyLeft k c s = s ++ L.replicate (k - length s) c
247justifyRight m n s = L.replicate (m - length s) n ++ s
250justifyRight m n s = L.replicate (m - length s) n ++ s
249s_justifyLeft k c = justifyLeft k c `eqP` (unpackS . S.justifyLeftI k c)
252s_justifyLeft k c = justifyLeft k c `eqP` (unpackS . S.justifyLeftI k c)
253+s_justifyLeft_s k c = justifyLeft k c `eqP` (unpackS . S.unstream . S.justifyLeftI k c)
250sf_justifyLeft p k c =
254sf_justifyLeft p k c =
251 (justifyLeft k c . L.filter p) `eqP` (unpackS . S.justifyLeftI k c . S.filter p)
255 (justifyLeft k c . L.filter p) `eqP` (unpackS . S.justifyLeftI k c . S.filter p)
252t_justifyLeft k c = justifyLeft k c `eqP` (unpackS . T.justifyLeft k c)
256t_justifyLeft k c = justifyLeft k c `eqP` (unpackS . T.justifyLeft k c)
@@ -282,6 +286,7 @@ sf_foldr1 p f = (L.foldr1 f . L.filter p) `eqP` (S.foldr1 f . S.filter p)
282t_foldr1 f = L.foldr1 f `eqP` T.foldr1 f
286t_foldr1 f = L.foldr1 f `eqP` T.foldr1 f
283tl_foldr1 f = L.foldr1 f `eqP` TL.foldr1 f
287tl_foldr1 f = L.foldr1 f `eqP` TL.foldr1 f
289+s_concat_s = unsquare (L.concat `eq` (unpackS . S.unstream . S.concat . map packS))
285sf_concat p = unsquare ((L.concat . map (L.filter p)) `eq` (unpackS . S.concat . map (S.filter p . packS)))
290sf_concat p = unsquare ((L.concat . map (L.filter p)) `eq` (unpackS . S.concat . map (S.filter p . packS)))
286t_concat = unsquare (L.concat `eq` (unpackS . T.concat . map packS))
291t_concat = unsquare (L.concat `eq` (unpackS . T.concat . map packS))
287tl_concat = unsquare (L.concat `eq` (unpackS . TL.concat . map TL.pack))
292tl_concat = unsquare (L.concat `eq` (unpackS . TL.concat . map TL.pack))
@@ -358,10 +363,12 @@ s_take_drop m = (L.take n . L.drop n) `eqP` (unpackS . S.take n . S.drop n)
358s_take_drop_s m = (L.take n . L.drop n) `eqP` (unpackS . S.unstream . S.take n . S.drop n)
363s_take_drop_s m = (L.take n . L.drop n) `eqP` (unpackS . S.unstream . S.take n . S.drop n)
359 where n = small m
364 where n = small m
360s_takeWhile p = L.takeWhile p `eqP` (unpackS . S.takeWhile p)
365s_takeWhile p = L.takeWhile p `eqP` (unpackS . S.takeWhile p)
366+s_takeWhile_s p = L.takeWhile p `eqP` (unpackS . S.unstream . S.takeWhile p)
361sf_takeWhile q p = (L.takeWhile p . L.filter q) `eqP` (unpackS . S.takeWhile p . S.filter q)
367sf_takeWhile q p = (L.takeWhile p . L.filter q) `eqP` (unpackS . S.takeWhile p . S.filter q)
362t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
368t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
363tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
369tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
364s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
370s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
371+s_dropWhile_s p = L.dropWhile p `eqP` (unpackS . S.unstream . S.dropWhile p)
365sf_dropWhile q p = (L.dropWhile p . L.filter q) `eqP` (unpackS . S.dropWhile p . S.filter q)
372sf_dropWhile q p = (L.dropWhile p . L.filter q) `eqP` (unpackS . S.dropWhile p . S.filter q)
366t_dropWhile p = L.dropWhile p `eqP` (unpackS . T.dropWhile p)
373t_dropWhile p = L.dropWhile p `eqP` (unpackS . T.dropWhile p)
367tl_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
374tl_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
@@ -608,6 +615,7 @@ tests = [
608 testProperty "t_tail" t_tail,
615 testProperty "t_tail" t_tail,
609 testProperty "tl_tail" tl_tail,
616 testProperty "tl_tail" tl_tail,
610 testProperty "s_init" s_init,
617 testProperty "s_init" s_init,
618+ testProperty "s_init_s" s_init_s,
611 testProperty "sf_init" sf_init,
619 testProperty "sf_init" sf_init,
612 testProperty "t_init" t_init,
620 testProperty "t_init" t_init,
613 testProperty "tl_init" tl_init,
621 testProperty "tl_init" tl_init,
@@ -623,12 +631,14 @@ tests = [
624 testGroup "transformations" [
632 testGroup "transformations" [
625 testProperty "s_map" s_map,
633 testProperty "s_map" s_map,
634+ testProperty "s_map_s" s_map_s,
626 testProperty "sf_map" sf_map,
635 testProperty "sf_map" sf_map,
627 testProperty "t_map" t_map,
636 testProperty "t_map" t_map,
628 testProperty "tl_map" tl_map,
637 testProperty "tl_map" tl_map,
629 testProperty "t_intercalate" t_intercalate,
638 testProperty "t_intercalate" t_intercalate,
630 testProperty "tl_intercalate" tl_intercalate,
639 testProperty "tl_intercalate" tl_intercalate,
631 testProperty "s_intersperse" s_intersperse,
640 testProperty "s_intersperse" s_intersperse,
641+ testProperty "s_intersperse_s" s_intersperse_s,
632 testProperty "sf_intersperse" sf_intersperse,
642 testProperty "sf_intersperse" sf_intersperse,
633 testProperty "t_intersperse" t_intersperse,
643 testProperty "t_intersperse" t_intersperse,
634 testProperty "tl_intersperse" tl_intersperse,
644 testProperty "tl_intersperse" tl_intersperse,
@@ -655,6 +665,7 @@ tests = [
656 testGroup "justification" [
666 testGroup "justification" [
657 testProperty "s_justifyLeft" s_justifyLeft,
667 testProperty "s_justifyLeft" s_justifyLeft,
668+ testProperty "s_justifyLeft_s" s_justifyLeft_s,
658 testProperty "sf_justifyLeft" sf_justifyLeft,
669 testProperty "sf_justifyLeft" sf_justifyLeft,
659 testProperty "t_justifyLeft" t_justifyLeft,
670 testProperty "t_justifyLeft" t_justifyLeft,
660 testProperty "tl_justifyLeft" tl_justifyLeft,
671 testProperty "tl_justifyLeft" tl_justifyLeft,
@@ -684,6 +695,7 @@ tests = [
684 testProperty "tl_foldr1" tl_foldr1,
695 testProperty "tl_foldr1" tl_foldr1,
686 testGroup "special" [
697 testGroup "special" [
698+ testProperty "s_concat_s" s_concat_s,
687 testProperty "sf_concat" sf_concat,
699 testProperty "sf_concat" sf_concat,
688 testProperty "t_concat" t_concat,
700 testProperty "t_concat" t_concat,
689 testProperty "tl_concat" tl_concat,
701 testProperty "tl_concat" tl_concat,
@@ -752,11 +764,13 @@ tests = [
752 testProperty "s_take_drop" s_take_drop,
764 testProperty "s_take_drop" s_take_drop,
753 testProperty "s_take_drop_s" s_take_drop_s,
765 testProperty "s_take_drop_s" s_take_drop_s,
754 testProperty "s_takeWhile" s_takeWhile,
766 testProperty "s_takeWhile" s_takeWhile,
767+ testProperty "s_takeWhile_s" s_takeWhile_s,
755 testProperty "sf_takeWhile" sf_takeWhile,
768 testProperty "sf_takeWhile" sf_takeWhile,
756 testProperty "t_takeWhile" t_takeWhile,
769 testProperty "t_takeWhile" t_takeWhile,
757 testProperty "tl_takeWhile" tl_takeWhile,
770 testProperty "tl_takeWhile" tl_takeWhile,
758 testProperty "sf_dropWhile" sf_dropWhile,
771 testProperty "sf_dropWhile" sf_dropWhile,
759 testProperty "s_dropWhile" s_dropWhile,
772 testProperty "s_dropWhile" s_dropWhile,
773+ testProperty "s_dropWhile_s" s_dropWhile_s,
760 testProperty "t_dropWhile" t_dropWhile,
774 testProperty "t_dropWhile" t_dropWhile,
761 testProperty "tl_dropWhile" tl_dropWhile,
775 testProperty "tl_dropWhile" tl_dropWhile,
762 testProperty "t_dropWhileEnd" t_dropWhileEnd,
776 testProperty "t_dropWhileEnd" t_dropWhileEnd,