@@ -42,25 +42,25 @@ i =^= j = unsafePerformIO $ do
4242 e -> trace ("*** Divergence: " ++ show e) return False
4343infix 4 =^=
4444
45−prop_T_pack_unpack = (T.unpack . T.pack) `eq` id
46−prop_TL_pack_unpack = (TL.unpack . TL.pack) `eq` id
47−prop_T_stream_unstream = (S.unstream . S.stream) `eq` id
48−prop_TL_stream_unstream = (SL.unstream . SL.stream) `eq` id
49−prop_T_reverse_stream t = (S.reverse . S.reverseStream) t == t
50−prop_T_singleton c = [c] == (T.unpack . T.singleton) c
51−prop_TL_singleton c = [c] == (TL.unpack . TL.singleton) c
52−prop_TL_unstreamChunks x = f 11 x == f 1000 x
45+t_pack_unpack = (T.unpack . T.pack) `eq` id
46+tl_pack_unpack = (TL.unpack . TL.pack) `eq` id
47+t_stream_unstream = (S.unstream . S.stream) `eq` id
48+tl_stream_unstream = (SL.unstream . SL.stream) `eq` id
49+t_reverse_stream t = (S.reverse . S.reverseStream) t == t
50+t_singleton c = [c] == (T.unpack . T.singleton) c
51+tl_singleton c = [c] == (TL.unpack . TL.singleton) c
52+tl_unstreamChunks x = f 11 x == f 1000 x
5353 where f n = SL.unstreamChunks n . S.streamList
54−prop_TL_chunk_unchunk = (TL.fromChunks . TL.toChunks) `eq` id
54+tl_chunk_unchunk = (TL.fromChunks . TL.toChunks) `eq` id
5555
56−prop_T_ascii t = E.decodeASCII (E.encodeUtf8 a) == a
56+t_ascii t = E.decodeASCII (E.encodeUtf8 a) == a
5757 where a = T.map (\c -> chr (ord c `mod` 128)) t
58−prop_T_utf8 = (E.decodeUtf8 . E.encodeUtf8) `eq` id
59−prop_TL_utf8 = (EL.decodeUtf8 . EL.encodeUtf8) `eq` id
60−prop_T_utf16LE = (E.decodeUtf16LE . E.encodeUtf16LE) `eq` id
61−prop_T_utf16BE = (E.decodeUtf16BE . E.encodeUtf16BE) `eq` id
62−prop_T_utf32LE = (E.decodeUtf32LE . E.encodeUtf32LE) `eq` id
63−prop_T_utf32BE = (E.decodeUtf32BE . E.encodeUtf32BE) `eq` id
58+t_utf8 = (E.decodeUtf8 . E.encodeUtf8) `eq` id
59+tl_utf8 = (EL.decodeUtf8 . EL.encodeUtf8) `eq` id
60+t_utf16LE = (E.decodeUtf16LE . E.encodeUtf16LE) `eq` id
61+t_utf16BE = (E.decodeUtf16BE . E.encodeUtf16BE) `eq` id
62+t_utf32LE = (E.decodeUtf32LE . E.encodeUtf32LE) `eq` id
63+t_utf32BE = (E.decodeUtf32BE . E.encodeUtf32BE) `eq` id
6464
6565class Stringy s where
6666 packS :: String -> s
@@ -118,80 +118,80 @@ unsquare :: (Arbitrary a, Show a, Testable b) => (a -> b) -> Property
118118unsquare = forAll . sized $ \n -> resize (smaller n) arbitrary
119119 where smaller = round . (sqrt :: Double -> Double) . fromIntegral
120120
121−prop_S_Eq s = (s==) `eq` ((S.streamList s==) . S.streamList)
121+s_Eq s = (s==) `eq` ((S.streamList s==) . S.streamList)
122122 where _types = s :: String
123−prop_Sf_Eq p s =
123+sf_Eq p s =
124124 ((L.filter p s==) . L.filter p) `eq`
125125 (((S.filter p $ S.streamList s)==) . S.filter p . S.streamList)
126−prop_T_Eq s = (s==) `eq` ((T.pack s==) . T.pack)
127−prop_TL_Eq s = (s==) `eq` ((TL.pack s==) . TL.pack)
128−prop_S_Ord s = (compare s) `eq` (compare (S.streamList s) . S.streamList)
126+t_Eq s = (s==) `eq` ((T.pack s==) . T.pack)
127+tl_Eq s = (s==) `eq` ((TL.pack s==) . TL.pack)
128+s_Ord s = (compare s) `eq` (compare (S.streamList s) . S.streamList)
129129 where _types = s :: String
130−prop_Sf_Ord p s =
130+sf_Ord p s =
131131 ((compare $ L.filter p s) . L.filter p) `eq`
132132 (compare (S.filter p $ S.streamList s) . S.filter p . S.streamList)
133−prop_T_Ord s = (compare s) `eq` (compare (T.pack s) . T.pack)
134−prop_TL_Ord s = (compare s) `eq` (compare (TL.pack s) . TL.pack)
135−prop_T_Read = id `eq` (T.unpack . read . show)
136−prop_TL_Read = id `eq` (TL.unpack . read . show)
137−prop_T_Show = show `eq` (show . T.pack)
138−prop_TL_Show = show `eq` (show . TL.pack)
139−prop_T_mappend s = mappend s`eqP` (unpackS . mappend (T.pack s))
140−prop_TL_mappend s = mappend s`eqP` (unpackS . mappend (TL.pack s))
141−prop_T_mconcat = unsquare (mconcat `eq` (unpackS . mconcat . L.map T.pack))
142−prop_TL_mconcat = unsquare (mconcat `eq` (unpackS . mconcat . L.map TL.pack))
143−prop_T_IsString = fromString `eqP` (T.unpack . fromString)
144−prop_TL_IsString = fromString `eqP` (TL.unpack . fromString)
145−
146−prop_S_cons x = (x:) `eqP` (unpackS . S.cons x)
147−prop_Sf_cons p x = ((x:) . L.filter p) `eqP` (unpackS . S.cons x . S.filter p)
148−prop_T_cons x = (x:) `eqP` (unpackS . T.cons x)
149−prop_TL_cons x = (x:) `eqP` (unpackS . TL.cons x)
150−prop_S_snoc x = (++ [x]) `eqP` (unpackS . (flip S.snoc) x)
151−prop_T_snoc x = (++ [x]) `eqP` (unpackS . (flip T.snoc) x)
152−prop_TL_snoc x = (++ [x]) `eqP` (unpackS . (flip TL.snoc) x)
153−prop_S_append s = (s++) `eqP` (unpackS . S.append (S.streamList s))
154−prop_Sf_append p s = (L.filter p s++) `eqP` (unpackS . S.append (S.filter p $ S.streamList s))
155−prop_T_append s = (s++) `eqP` (unpackS . T.append (packS s))
133+t_Ord s = (compare s) `eq` (compare (T.pack s) . T.pack)
134+tl_Ord s = (compare s) `eq` (compare (TL.pack s) . TL.pack)
135+t_Read = id `eq` (T.unpack . read . show)
136+tl_Read = id `eq` (TL.unpack . read . show)
137+t_Show = show `eq` (show . T.pack)
138+tl_Show = show `eq` (show . TL.pack)
139+t_mappend s = mappend s`eqP` (unpackS . mappend (T.pack s))
140+tl_mappend s = mappend s`eqP` (unpackS . mappend (TL.pack s))
141+t_mconcat = unsquare (mconcat `eq` (unpackS . mconcat . L.map T.pack))
142+tl_mconcat = unsquare (mconcat `eq` (unpackS . mconcat . L.map TL.pack))
143+t_IsString = fromString `eqP` (T.unpack . fromString)
144+tl_IsString = fromString `eqP` (TL.unpack . fromString)
145+
146+s_cons x = (x:) `eqP` (unpackS . S.cons x)
147+sf_cons p x = ((x:) . L.filter p) `eqP` (unpackS . S.cons x . S.filter p)
148+t_cons x = (x:) `eqP` (unpackS . T.cons x)
149+tl_cons x = (x:) `eqP` (unpackS . TL.cons x)
150+s_snoc x = (++ [x]) `eqP` (unpackS . (flip S.snoc) x)
151+t_snoc x = (++ [x]) `eqP` (unpackS . (flip T.snoc) x)
152+tl_snoc x = (++ [x]) `eqP` (unpackS . (flip TL.snoc) x)
153+s_append s = (s++) `eqP` (unpackS . S.append (S.streamList s))
154+sf_append p s = (L.filter p s++) `eqP` (unpackS . S.append (S.filter p $ S.streamList s))
155+t_append s = (s++) `eqP` (unpackS . T.append (packS s))
156156
157157uncons (x:xs) = Just (x,xs)
158158uncons _ = Nothing
159159
160−prop_T_uncons s = uncons `eqP` (fmap (second unpackS) . T.uncons)
160+t_uncons s = uncons `eqP` (fmap (second unpackS) . T.uncons)
161161 where _types = s :: String
162−prop_TL_uncons s = uncons `eqP` (fmap (second unpackS) . TL.uncons)
162+tl_uncons s = uncons `eqP` (fmap (second unpackS) . TL.uncons)
163163 where _types = s :: String
164−prop_S_head = head `eqP` S.head
165−prop_T_head = head `eqP` T.head
166−prop_TL_head = head `eqP` TL.head
167−prop_S_last = last `eqP` S.last
168−prop_T_last = last `eqP` T.last
169−prop_TL_last = last `eqP` TL.last
170−prop_S_tail = tail `eqP` (unpackS . S.tail)
171−prop_T_tail = tail `eqP` (unpackS . T.tail)
172−prop_TL_tail = tail `eqP` (unpackS . TL.tail)
173−prop_S_init = init `eqP` (unpackS . S.init)
174−prop_T_init = init `eqP` (unpackS . T.init)
175−prop_TL_init = init `eqP` (unpackS . TL.init)
176−prop_S_null = null `eqP` S.null
177−prop_T_null = null `eqP` T.null
178−prop_TL_null = null `eqP` TL.null
179−prop_S_length = length `eqP` S.length
180−prop_T_length = length `eqP` T.length
181−prop_TL_length = length `eqP` (fromIntegral . TL.length)
182−prop_T_map f = map f `eqP` (unpackS . T.map f)
183−prop_TL_map f = map f `eqP` (unpackS . TL.map f)
184−prop_T_intercalate c = unsquare (L.intercalate c `eq` (unpackS . T.intercalate (packS c) . map packS))
185−prop_TL_intercalate c = unsquare (L.intercalate c `eq` (unpackS . TL.intercalate (TL.pack c) . map TL.pack))
186−prop_T_intersperse c = L.intersperse c `eqP` (unpackS . T.intersperse c)
187−prop_TL_intersperse c = L.intersperse c `eqP` (unpackS . TL.intersperse c)
188−prop_T_transpose = unsquare (L.transpose `eq` (map unpackS . T.transpose . map packS))
189−prop_TL_transpose = unsquare (L.transpose `eq` (map unpackS . TL.transpose . map TL.pack))
190−prop_T_reverse = L.reverse `eqP` (unpackS . T.reverse)
191−prop_TL_reverse = L.reverse `eqP` (unpackS . TL.reverse)
192−prop_T_reverse_short n = L.reverse `eqP` (unpackS . S.reverse . shorten n . S.stream)
193−
194−prop_T_replace s d = (L.intercalate d . split s) `eqP` (unpackS . T.replace (T.pack s) (T.pack d))
164+s_head = head `eqP` S.head
165+t_head = head `eqP` T.head
166+tl_head = head `eqP` TL.head
167+s_last = last `eqP` S.last
168+t_last = last `eqP` T.last
169+tl_last = last `eqP` TL.last
170+s_tail = tail `eqP` (unpackS . S.tail)
171+t_tail = tail `eqP` (unpackS . T.tail)
172+tl_tail = tail `eqP` (unpackS . TL.tail)
173+s_init = init `eqP` (unpackS . S.init)
174+t_init = init `eqP` (unpackS . T.init)
175+tl_init = init `eqP` (unpackS . TL.init)
176+s_null = null `eqP` S.null
177+t_null = null `eqP` T.null
178+tl_null = null `eqP` TL.null
179+s_length = length `eqP` S.length
180+t_length = length `eqP` T.length
181+tl_length = length `eqP` (fromIntegral . TL.length)
182+t_map f = map f `eqP` (unpackS . T.map f)
183+tl_map f = map f `eqP` (unpackS . TL.map f)
184+t_intercalate c = unsquare (L.intercalate c `eq` (unpackS . T.intercalate (packS c) . map packS))
185+tl_intercalate c = unsquare (L.intercalate c `eq` (unpackS . TL.intercalate (TL.pack c) . map TL.pack))
186+t_intersperse c = L.intersperse c `eqP` (unpackS . T.intersperse c)
187+tl_intersperse c = L.intersperse c `eqP` (unpackS . TL.intersperse c)
188+t_transpose = unsquare (L.transpose `eq` (map unpackS . T.transpose . map packS))
189+tl_transpose = unsquare (L.transpose `eq` (map unpackS . TL.transpose . map TL.pack))
190+t_reverse = L.reverse `eqP` (unpackS . T.reverse)
191+tl_reverse = L.reverse `eqP` (unpackS . TL.reverse)
192+t_reverse_short n = L.reverse `eqP` (unpackS . S.reverse . shorten n . S.stream)
193+
194+t_replace s d = (L.intercalate d . split s) `eqP` (unpackS . T.replace (T.pack s) (T.pack d))
195195
196196split :: (Eq a) => [a] -> [a] -> [[a]]
197197split pat src0
@@ -206,136 +206,136 @@ split pat src0
206206 | pat `L.isPrefixOf` s = take n src : go (drop l s)
207207 | otherwise = search (n+1) s'
208208
209−prop_T_toCaseFold_length t = T.length (T.toCaseFold t) >= T.length t
210−prop_T_toLower_length t = T.length (T.toLower t) >= T.length t
211−prop_T_toLower_lower t = p (T.toLower t) >= p t
209+t_toCaseFold_length t = T.length (T.toCaseFold t) >= T.length t
210+t_toLower_length t = T.length (T.toLower t) >= T.length t
211+t_toLower_lower t = p (T.toLower t) >= p t
212212 where p = T.length . T.filter isLower
213−prop_T_toUpper_length t = T.length (T.toUpper t) >= T.length t
214−prop_T_toUpper_upper t = p (T.toUpper t) >= p t
213+t_toUpper_length t = T.length (T.toUpper t) >= T.length t
214+t_toUpper_upper t = p (T.toUpper t) >= p t
215215 where p = T.length . T.filter isUpper
216216
217217justifyLeft k c s = s ++ replicate (k - length s) c
218218
219−prop_S_justifyLeft k c = justifyLeft k c `eqP` (unpackS . S.justifyLeft k c)
220−prop_T_justifyLeft k c = justifyLeft k c `eqP` (unpackS . T.justifyLeft k c)
221−prop_T_justifyRight k c = jr k c `eqP` (unpackS . T.justifyRight k c)
219+s_justifyLeft k c = justifyLeft k c `eqP` (unpackS . S.justifyLeft k c)
220+t_justifyLeft k c = justifyLeft k c `eqP` (unpackS . T.justifyLeft k c)
221+t_justifyRight k c = jr k c `eqP` (unpackS . T.justifyRight k c)
222222 where jr m n s = replicate (m - length s) n ++ s
223223
224−prop_T_foldl f z = L.foldl f z `eqP` (T.foldl f z)
224+t_foldl f z = L.foldl f z `eqP` (T.foldl f z)
225225 where _types = f :: Char -> Char -> Char
226−prop_TL_foldl f z = L.foldl f z `eqP` (TL.foldl f z)
226+tl_foldl f z = L.foldl f z `eqP` (TL.foldl f z)
227227 where _types = f :: Char -> Char -> Char
228−prop_T_foldl' f z = L.foldl' f z `eqP` T.foldl' f z
228+t_foldl' f z = L.foldl' f z `eqP` T.foldl' f z
229229 where _types = f :: Char -> Char -> Char
230−prop_TL_foldl' f z = L.foldl' f z `eqP` TL.foldl' f z
230+tl_foldl' f z = L.foldl' f z `eqP` TL.foldl' f z
231231 where _types = f :: Char -> Char -> Char
232−prop_T_foldl1 f = L.foldl1 f `eqP` T.foldl1 f
233−prop_TL_foldl1 f = L.foldl1 f `eqP` TL.foldl1 f
234−prop_T_foldl1' f = L.foldl1' f `eqP` T.foldl1' f
235−prop_TL_foldl1' f = L.foldl1' f `eqP` TL.foldl1' f
236−prop_T_foldr f z = L.foldr f z `eqP` T.foldr f z
232+t_foldl1 f = L.foldl1 f `eqP` T.foldl1 f
233+tl_foldl1 f = L.foldl1 f `eqP` TL.foldl1 f
234+t_foldl1' f = L.foldl1' f `eqP` T.foldl1' f
235+tl_foldl1' f = L.foldl1' f `eqP` TL.foldl1' f
236+t_foldr f z = L.foldr f z `eqP` T.foldr f z
237237 where _types = f :: Char -> Char -> Char
238−prop_TL_foldr f z = L.foldr f z `eqP` TL.foldr f z
238+tl_foldr f z = L.foldr f z `eqP` TL.foldr f z
239239 where _types = f :: Char -> Char -> Char
240−prop_T_foldr1 f = L.foldr1 f `eqP` T.foldr1 f
241−prop_TL_foldr1 f = L.foldr1 f `eqP` TL.foldr1 f
242−
243−prop_T_concat = unsquare (L.concat `eq` (unpackS . T.concat . map packS))
244−prop_TL_concat = unsquare (L.concat `eq` (unpackS . TL.concat . map TL.pack))
245−prop_T_concatMap f = unsquare (L.concatMap f `eqP` (unpackS . T.concatMap (packS . f)))
246−prop_TL_concatMap f = unsquare (L.concatMap f `eqP` (unpackS . TL.concatMap (TL.pack . f)))
247−prop_T_any p = L.any p `eqP` T.any p
248−prop_TL_any p = L.any p `eqP` TL.any p
249−prop_T_all p = L.all p `eqP` T.all p
250−prop_TL_all p = L.all p `eqP` TL.all p
251−prop_T_maximum = L.maximum `eqP` T.maximum
252−prop_TL_maximum = L.maximum `eqP` TL.maximum
253−prop_T_minimum = L.minimum `eqP` T.minimum
254−prop_TL_minimum = L.minimum `eqP` TL.minimum
255−
256−prop_T_scanl f z = L.scanl f z `eqP` (unpackS . T.scanl f z)
257−prop_TL_scanl f z = L.scanl f z `eqP` (unpackS . TL.scanl f z)
258−prop_T_scanl1 f = L.scanl1 f `eqP` (unpackS . T.scanl1 f)
259−prop_TL_scanl1 f = L.scanl1 f `eqP` (unpackS . TL.scanl1 f)
260−prop_T_scanr f z = L.scanr f z `eqP` (unpackS . T.scanr f z)
261−prop_TL_scanr f z = L.scanr f z `eqP` (unpackS . TL.scanr f z)
262−prop_T_scanr1 f = L.scanr1 f `eqP` (unpackS . T.scanr1 f)
263−prop_TL_scanr1 f = L.scanr1 f `eqP` (unpackS . TL.scanr1 f)
264−
265−prop_T_mapAccumL f z = unsquare (L.mapAccumL f z `eqP` (second unpackS . T.mapAccumL f z))
240+t_foldr1 f = L.foldr1 f `eqP` T.foldr1 f
241+tl_foldr1 f = L.foldr1 f `eqP` TL.foldr1 f
242+
243+t_concat = unsquare (L.concat `eq` (unpackS . T.concat . map packS))
244+tl_concat = unsquare (L.concat `eq` (unpackS . TL.concat . map TL.pack))
245+t_concatMap f = unsquare (L.concatMap f `eqP` (unpackS . T.concatMap (packS . f)))
246+tl_concatMap f = unsquare (L.concatMap f `eqP` (unpackS . TL.concatMap (TL.pack . f)))
247+t_any p = L.any p `eqP` T.any p
248+tl_any p = L.any p `eqP` TL.any p
249+t_all p = L.all p `eqP` T.all p
250+tl_all p = L.all p `eqP` TL.all p
251+t_maximum = L.maximum `eqP` T.maximum
252+tl_maximum = L.maximum `eqP` TL.maximum
253+t_minimum = L.minimum `eqP` T.minimum
254+tl_minimum = L.minimum `eqP` TL.minimum
255+
256+t_scanl f z = L.scanl f z `eqP` (unpackS . T.scanl f z)
257+tl_scanl f z = L.scanl f z `eqP` (unpackS . TL.scanl f z)
258+t_scanl1 f = L.scanl1 f `eqP` (unpackS . T.scanl1 f)
259+tl_scanl1 f = L.scanl1 f `eqP` (unpackS . TL.scanl1 f)
260+t_scanr f z = L.scanr f z `eqP` (unpackS . T.scanr f z)
261+tl_scanr f z = L.scanr f z `eqP` (unpackS . TL.scanr f z)
262+t_scanr1 f = L.scanr1 f `eqP` (unpackS . T.scanr1 f)
263+tl_scanr1 f = L.scanr1 f `eqP` (unpackS . TL.scanr1 f)
264+
265+t_mapAccumL f z = unsquare (L.mapAccumL f z `eqP` (second unpackS . T.mapAccumL f z))
266266 where _types = f :: Int -> Char -> (Int,Char)
267−prop_TL_mapAccumL f z = unsquare (L.mapAccumL f z `eqP` (second unpackS . TL.mapAccumL f z))
267+tl_mapAccumL f z = unsquare (L.mapAccumL f z `eqP` (second unpackS . TL.mapAccumL f z))
268268 where _types = f :: Int -> Char -> (Int,Char)
269−prop_T_mapAccumR f z = unsquare (L.mapAccumR f z `eqP` (second unpackS . T.mapAccumR f z))
269+t_mapAccumR f z = unsquare (L.mapAccumR f z `eqP` (second unpackS . T.mapAccumR f z))
270270 where _types = f :: Int -> Char -> (Int,Char)
271−prop_TL_mapAccumR f z = unsquare (L.mapAccumR f z `eqP` (second unpackS . TL.mapAccumR f z))
271+tl_mapAccumR f z = unsquare (L.mapAccumR f z `eqP` (second unpackS . TL.mapAccumR f z))
272272 where _types = f :: Int -> Char -> (Int,Char)
273273
274−prop_T_replicate n = L.replicate n `eq` (unpackS . T.replicate n)
275−prop_TL_replicate n = L.replicate n `eq` (unpackS . TL.replicate n)
274+t_replicate n = L.replicate n `eq` (unpackS . T.replicate n)
275+tl_replicate n = L.replicate n `eq` (unpackS . TL.replicate n)
276276
277277unf :: Int -> Char -> Maybe (Char, Char)
278278unf n c | fromEnum c * 100 > n = Nothing
279279 | otherwise = Just (c, succ c)
280280
281−prop_T_unfoldr n = L.unfoldr (unf n) `eq` (unpackS . T.unfoldr (unf n))
282−prop_TL_unfoldr n = L.unfoldr (unf n) `eq` (unpackS . TL.unfoldr (unf n))
283−prop_T_unfoldrN n m = (L.take n . L.unfoldr (unf m)) `eq`
281+t_unfoldr n = L.unfoldr (unf n) `eq` (unpackS . T.unfoldr (unf n))
282+tl_unfoldr n = L.unfoldr (unf n) `eq` (unpackS . TL.unfoldr (unf n))
283+t_unfoldrN n m = (L.take n . L.unfoldr (unf m)) `eq`
284284 (unpackS . T.unfoldrN n (unf m))
285−prop_TL_unfoldrN n m = (L.take n . L.unfoldr (unf m)) `eq`
285+tl_unfoldrN n m = (L.take n . L.unfoldr (unf m)) `eq`
286286 (unpackS . TL.unfoldrN (fromIntegral n) (unf m))
287287
288288unpack2 :: (Stringy s) => (s,s) -> (String,String)
289289unpack2 = unpackS *** unpackS
290290
291−prop_S_take n = L.take n `eqP` (unpackS . S.take n)
292−prop_T_take n = L.take n `eqP` (unpackS . T.take n)
293−prop_TL_take n = L.take n `eqP` (unpackS . TL.take (fromIntegral n))
294−prop_S_drop n = L.drop n `eqP` (unpackS . S.drop n)
295−prop_T_drop n = L.drop n `eqP` (unpackS . T.drop n)
296−prop_TL_drop n = L.drop n `eqP` (unpackS . TL.drop n)
297−prop_S_takeWhile p = L.takeWhile p `eqP` (unpackS . S.takeWhile p)
298−prop_T_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
299−prop_TL_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
300−prop_S_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
301−prop_T_dropWhile p = L.dropWhile p `eqP` (unpackS . T.dropWhile p)
302−prop_TL_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
303−prop_S_dropWhileEnd p = T.dropWhileEnd p `eq` (S.reverse . S.dropWhile p . S.reverseStream)
304−prop_T_dropWhileEnd p = (T.reverse . T.dropWhile p . T.reverse) `eq` T.dropWhileEnd p
305−prop_T_dropAround p = (T.dropWhile p . T.dropWhileEnd p) `eq` T.dropAround p
306−prop_T_stripStart = T.dropWhile isSpace `eq` T.stripStart
307−prop_T_stripEnd = T.dropWhileEnd isSpace `eq` T.stripEnd
308−prop_T_strip = T.dropAround isSpace `eq` T.strip
309−prop_T_splitAt n = L.splitAt n `eqP` (unpack2 . T.splitAt n)
310−prop_TL_splitAt n = L.splitAt n `eqP` (unpack2 . TL.splitAt (fromIntegral n))
311−prop_T_span p = L.span p `eqP` (unpack2 . T.span p)
312−prop_TL_span p = L.span p `eqP` (unpack2 . TL.span p)
313−prop_T_break p = L.break p `eqP` (unpack2 . T.break p)
314−prop_TL_break p = L.break p `eqP` (unpack2 . TL.break p)
315−prop_T_group = L.group `eqP` (map unpackS . T.group)
316−prop_TL_group = L.group `eqP` (map unpackS . TL.group)
317−prop_T_groupBy p = L.groupBy p `eqP` (map unpackS . T.groupBy p)
318−prop_TL_groupBy p = L.groupBy p `eqP` (map unpackS . TL.groupBy p)
319−prop_T_inits = L.inits `eqP` (map unpackS . T.inits)
320−prop_TL_inits = L.inits `eqP` (map unpackS . TL.inits)
321−prop_T_tails = L.tails `eqP` (map unpackS . T.tails)
322−prop_TL_tails = L.tails `eqP` (map unpackS . TL.tails)
323−
324−prop_T_split_i t = id `eq` (T.intercalate t . T.split t)
325−prop_T_splitTimes_i k t = id `eq` (T.intercalate t . T.splitTimes k t)
326−prop_T_splitTimes_split k t = T.splitTimes k t `eq` \u ->
291+s_take n = L.take n `eqP` (unpackS . S.take n)
292+t_take n = L.take n `eqP` (unpackS . T.take n)
293+tl_take n = L.take n `eqP` (unpackS . TL.take (fromIntegral n))
294+s_drop n = L.drop n `eqP` (unpackS . S.drop n)
295+t_drop n = L.drop n `eqP` (unpackS . T.drop n)
296+tl_drop n = L.drop n `eqP` (unpackS . TL.drop n)
297+s_takeWhile p = L.takeWhile p `eqP` (unpackS . S.takeWhile p)
298+t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
299+tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
300+s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
301+t_dropWhile p = L.dropWhile p `eqP` (unpackS . T.dropWhile p)
302+tl_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
303+s_dropWhileEnd p = T.dropWhileEnd p `eq` (S.reverse . S.dropWhile p . S.reverseStream)
304+t_dropWhileEnd p = (T.reverse . T.dropWhile p . T.reverse) `eq` T.dropWhileEnd p
305+t_dropAround p = (T.dropWhile p . T.dropWhileEnd p) `eq` T.dropAround p
306+t_stripStart = T.dropWhile isSpace `eq` T.stripStart
307+t_stripEnd = T.dropWhileEnd isSpace `eq` T.stripEnd
308+t_strip = T.dropAround isSpace `eq` T.strip
309+t_splitAt n = L.splitAt n `eqP` (unpack2 . T.splitAt n)
310+tl_splitAt n = L.splitAt n `eqP` (unpack2 . TL.splitAt (fromIntegral n))
311+t_span p = L.span p `eqP` (unpack2 . T.span p)
312+tl_span p = L.span p `eqP` (unpack2 . TL.span p)
313+t_break p = L.break p `eqP` (unpack2 . T.break p)
314+tl_break p = L.break p `eqP` (unpack2 . TL.break p)
315+t_group = L.group `eqP` (map unpackS . T.group)
316+tl_group = L.group `eqP` (map unpackS . TL.group)
317+t_groupBy p = L.groupBy p `eqP` (map unpackS . T.groupBy p)
318+tl_groupBy p = L.groupBy p `eqP` (map unpackS . TL.groupBy p)
319+t_inits = L.inits `eqP` (map unpackS . T.inits)
320+tl_inits = L.inits `eqP` (map unpackS . TL.inits)
321+t_tails = L.tails `eqP` (map unpackS . T.tails)
322+tl_tails = L.tails `eqP` (map unpackS . TL.tails)
323+
324+t_split_i t = id `eq` (T.intercalate t . T.split t)
325+t_splitTimes_i k t = id `eq` (T.intercalate t . T.splitTimes k t)
326+t_splitTimes_split k t = T.splitTimes k t `eq` \u ->
327327 case L.splitAt k (T.split t u) of
328328 (a,[]) -> a
329329 (a,b) -> a ++ [T.intercalate t b]
330−prop_T_splitTimesEnd_i k t = id `eq` (T.intercalate t . T.splitTimesEnd k t)
331−prop_T_splitTimesEnd_split t = T.splitTimesEnd maxBound t `eq` T.split t
332−prop_TL_split_i c = id `eq` (TL.intercalate (TL.singleton c) . TL.split c)
330+t_splitTimesEnd_i k t = id `eq` (T.intercalate t . T.splitTimesEnd k t)
331+t_splitTimesEnd_split t = T.splitTimesEnd maxBound t `eq` T.split t
332+tl_split_i c = id `eq` (TL.intercalate (TL.singleton c) . TL.split c)
333333
334−prop_T_splitWith p = splitWith p `eqP` (map unpackS . T.splitWith p)
335−prop_T_splitWith_count c = (L.length . T.splitWith (==c)) `eq` ((1+) . T.count c)
336−prop_T_splitWith_split c = T.splitWith (==c) `eq` T.split (T.singleton c)
337−prop_T_splitWith_Csplit c = T.splitWith (==c) `eq` C.split c
338−prop_TL_splitWith p = splitWith p `eqP` (map unpackS . TL.splitWith p)
334+t_splitWith p = splitWith p `eqP` (map unpackS . T.splitWith p)
335+t_splitWith_count c = (L.length . T.splitWith (==c)) `eq` ((1+) . T.count c)
336+t_splitWith_split c = T.splitWith (==c) `eq` T.split (T.singleton c)
337+t_splitWith_Csplit c = T.splitWith (==c) `eq` C.split c
338+tl_splitWith p = splitWith p `eqP` (map unpackS . TL.splitWith p)
339339
340340splitWith :: (a -> Bool) -> [a] -> [[a]]
341341splitWith _ [] = [[]]
@@ -344,24 +344,24 @@ splitWith p xs = loop xs
344344 | otherwise = l : loop (tail s')
345345 where (l, s') = break p s
346346
347−prop_T_chunksOf_same_lengths k = all ((==k) . T.length) . ini . T.chunksOf k
347+t_chunksOf_same_lengths k = all ((==k) . T.length) . ini . T.chunksOf k
348348 where ini [] = []
349349 ini xs = init xs
350350
351−prop_T_chunksOf_length k t = len == T.length t || (k <= 0 && len == 0)
351+t_chunksOf_length k t = len == T.length t || (k <= 0 && len == 0)
352352 where len = L.sum . L.map T.length $ T.chunksOf k t
353353
354−prop_T_breakSubstring_isInfixOf s l
354+t_breakSubstring_isInfixOf s l
355355 = T.isInfixOf s l ==
356356 T.null s || (not . T.null . snd $ C.breakSubstring s l)
357−prop_T_breakSubstringC c
357+t_breakSubstringC c
358358 = L.break (==c) `eqP`
359359 (unpack2 . C.breakSubstring (T.singleton c))
360360
361−prop_T_lines = L.lines `eqP` (map unpackS . T.lines)
362−prop_TL_lines = L.lines `eqP` (map unpackS . TL.lines)
361+t_lines = L.lines `eqP` (map unpackS . T.lines)
362+tl_lines = L.lines `eqP` (map unpackS . TL.lines)
363363{-
364−prop_T_lines' = lines' `eqP` (map unpackS . T.lines')
364+t_lines' = lines' `eqP` (map unpackS . T.lines')
365365 where lines' "" = []
366366 lines' s = let (l, s') = break eol s
367367 in l : case s' of
@@ -370,54 +370,54 @@ prop_T_lines' = lines' `eqP` (map unpackS . T.lines')
370370 (_:s'') -> lines' s''
371371 eol c = c == '\r' || c == '\n'
372372-}
373−prop_T_words = L.words `eqP` (map unpackS . T.words)
374−
375−prop_TL_words = L.words `eqP` (map unpackS . TL.words)
376−prop_T_unlines = unsquare (L.unlines `eq` (unpackS . T.unlines . map packS))
377−prop_TL_unlines = unsquare (L.unlines `eq` (unpackS . TL.unlines . map packS))
378−prop_T_unwords = unsquare (L.unwords `eq` (unpackS . T.unwords . map packS))
379−prop_TL_unwords = unsquare (L.unwords `eq` (unpackS . TL.unwords . map packS))
380−
381−prop_S_isPrefixOf s = L.isPrefixOf s`eqP` (S.isPrefixOf (S.stream $ packS s) . S.stream)
382−prop_T_isPrefixOf s = L.isPrefixOf s`eqP` T.isPrefixOf (packS s)
383−prop_TL_isPrefixOf s = L.isPrefixOf s`eqP` TL.isPrefixOf (packS s)
384−prop_T_isSuffixOf s = L.isSuffixOf s`eqP` T.isSuffixOf (packS s)
385−prop_TL_isSuffixOf s = L.isSuffixOf s`eqP` TL.isSuffixOf (packS s)
386−prop_T_isInfixOf s = L.isInfixOf s `eqP` T.isInfixOf (packS s)
387−prop_TL_isInfixOf s = L.isInfixOf s `eqP` TL.isInfixOf (packS s)
388−
389−prop_T_elem c = L.elem c `eqP` T.elem c
390−prop_TL_elem c = L.elem c `eqP` TL.elem c
391−prop_T_filter p = L.filter p `eqP` (unpackS . T.filter p)
392−prop_TL_filter p = L.filter p `eqP` (unpackS . TL.filter p)
393−prop_T_find p = L.find p `eqP` T.find p
394−prop_TL_find p = L.find p `eqP` TL.find p
395−prop_T_partition p = L.partition p `eqP` (unpack2 . T.partition p)
396−prop_TL_partition p = L.partition p `eqP` (unpack2 . TL.partition p)
397−
398−prop_T_index s = forAll (choose (-l,l*2)) ((s L.!!) `eq` T.index (packS s))
373+t_words = L.words `eqP` (map unpackS . T.words)
374+
375+tl_words = L.words `eqP` (map unpackS . TL.words)
376+t_unlines = unsquare (L.unlines `eq` (unpackS . T.unlines . map packS))
377+tl_unlines = unsquare (L.unlines `eq` (unpackS . TL.unlines . map packS))
378+t_unwords = unsquare (L.unwords `eq` (unpackS . T.unwords . map packS))
379+tl_unwords = unsquare (L.unwords `eq` (unpackS . TL.unwords . map packS))
380+
381+s_isPrefixOf s = L.isPrefixOf s`eqP` (S.isPrefixOf (S.stream $ packS s) . S.stream)
382+t_isPrefixOf s = L.isPrefixOf s`eqP` T.isPrefixOf (packS s)
383+tl_isPrefixOf s = L.isPrefixOf s`eqP` TL.isPrefixOf (packS s)
384+t_isSuffixOf s = L.isSuffixOf s`eqP` T.isSuffixOf (packS s)
385+tl_isSuffixOf s = L.isSuffixOf s`eqP` TL.isSuffixOf (packS s)
386+t_isInfixOf s = L.isInfixOf s `eqP` T.isInfixOf (packS s)
387+tl_isInfixOf s = L.isInfixOf s `eqP` TL.isInfixOf (packS s)
388+
389+t_elem c = L.elem c `eqP` T.elem c
390+tl_elem c = L.elem c `eqP` TL.elem c
391+t_filter p = L.filter p `eqP` (unpackS . T.filter p)
392+tl_filter p = L.filter p `eqP` (unpackS . TL.filter p)
393+t_find p = L.find p `eqP` T.find p
394+tl_find p = L.find p `eqP` TL.find p
395+t_partition p = L.partition p `eqP` (unpack2 . T.partition p)
396+tl_partition p = L.partition p `eqP` (unpack2 . TL.partition p)
397+
398+t_index s = forAll (choose (-l,l*2)) ((s L.!!) `eq` T.index (packS s))
399399 where l = L.length s
400400
401−prop_TL_index s = forAll (choose (-l,l*2)) ((s L.!!) `eq` (TL.index (packS s) . fromIntegral))
401+tl_index s = forAll (choose (-l,l*2)) ((s L.!!) `eq` (TL.index (packS s) . fromIntegral))
402402 where l = L.length s
403403
404−prop_T_findIndex p = L.findIndex p `eqP` T.findIndex p
405−prop_TL_findIndex p = (fmap fromIntegral . L.findIndex p) `eqP` TL.findIndex p
406−prop_T_findIndices p = L.findIndices p `eqP` T.findIndices p
407−prop_TL_findIndices p = (fmap fromIntegral . L.findIndices p) `eqP` TL.findIndices p
408−prop_T_elemIndex c = L.elemIndex c `eqP` T.elemIndex c
409−prop_TL_elemIndex c = (fmap fromIntegral . L.elemIndex c) `eqP` TL.elemIndex c
410−prop_T_elemIndices c = L.elemIndices c`eqP` T.elemIndices c
411−prop_TL_elemIndices c = (fmap fromIntegral . L.elemIndices c) `eqP` TL.elemIndices c
412−prop_T_count c = (L.length . L.elemIndices c) `eqP` T.count c
413−prop_TL_count c = (fromIntegral . L.length . L.elemIndices c) `eqP` TL.count c
414−prop_T_zip s = L.zip s `eqP` T.zip (packS s)
415−prop_TL_zip s = L.zip s `eqP` TL.zip (packS s)
416−prop_T_zipWith c s = L.zipWith c s `eqP` (unpackS . T.zipWith c (packS s))
417−prop_TL_zipWith c s = L.zipWith c s `eqP` (unpackS . TL.zipWith c (packS s))
404+t_findIndex p = L.findIndex p `eqP` T.findIndex p
405+tl_findIndex p = (fmap fromIntegral . L.findIndex p) `eqP` TL.findIndex p
406+t_findIndices p = L.findIndices p `eqP` T.findIndices p
407+tl_findIndices p = (fmap fromIntegral . L.findIndices p) `eqP` TL.findIndices p
408+t_elemIndex c = L.elemIndex c `eqP` T.elemIndex c
409+tl_elemIndex c = (fmap fromIntegral . L.elemIndex c) `eqP` TL.elemIndex c
410+t_elemIndices c = L.elemIndices c`eqP` T.elemIndices c
411+tl_elemIndices c = (fmap fromIntegral . L.elemIndices c) `eqP` TL.elemIndices c
412+t_count c = (L.length . L.elemIndices c) `eqP` T.count c
413+tl_count c = (fromIntegral . L.length . L.elemIndices c) `eqP` TL.count c
414+t_zip s = L.zip s `eqP` T.zip (packS s)
415+tl_zip s = L.zip s `eqP` TL.zip (packS s)
416+t_zipWith c s = L.zipWith c s `eqP` (unpackS . T.zipWith c (packS s))
417+tl_zipWith c s = L.zipWith c s `eqP` (unpackS . TL.zipWith c (packS s))
418418
419419-- Regression tests.
420−prop_S_filter_eq s = S.filter p t == S.streamList (filter p s)
420+s_filter_eq s = S.filter p t == S.streamList (filter p s)
421421 where p = (/= S.last t)
422422 t = S.streamList s
423423
@@ -433,280 +433,280 @@ main = defaultMain tests
433433
434434tests = [
435435 testGroup "creation/elimination" [
436− testProperty "t_pack_unpack" prop_T_pack_unpack,
437− testProperty "tl_pack_unpack" prop_TL_pack_unpack,
438− testProperty "t_stream_unstream" prop_T_stream_unstream,
439− testProperty "tl_stream_unstream" prop_TL_stream_unstream,
440− testProperty "t_reverse_stream" prop_T_reverse_stream,
441− testProperty "t_singleton" prop_T_singleton,
442− testProperty "tl_singleton" prop_TL_singleton,
443− testProperty "tl_unstreamChunks" prop_TL_unstreamChunks,
444− testProperty "tl_chunk_unchunk" prop_TL_chunk_unchunk
436+ testProperty "t_pack_unpack" t_pack_unpack,
437+ testProperty "tl_pack_unpack" tl_pack_unpack,
438+ testProperty "t_stream_unstream" t_stream_unstream,
439+ testProperty "tl_stream_unstream" tl_stream_unstream,
440+ testProperty "t_reverse_stream" t_reverse_stream,
441+ testProperty "t_singleton" t_singleton,
442+ testProperty "tl_singleton" tl_singleton,
443+ testProperty "tl_unstreamChunks" tl_unstreamChunks,
444+ testProperty "tl_chunk_unchunk" tl_chunk_unchunk
445445 ],
446446
447447 testGroup "transcoding" [
448− testProperty "t_ascii" prop_T_ascii,
449− testProperty "t_utf8" prop_T_utf8,
450− testProperty "tl_utf8" prop_TL_utf8,
451− testProperty "t_utf16LE" prop_T_utf16LE,
452− testProperty "t_utf16BE" prop_T_utf16BE,
453− testProperty "t_utf32LE" prop_T_utf32LE,
454− testProperty "t_utf32BE" prop_T_utf32BE
448+ testProperty "t_ascii" t_ascii,
449+ testProperty "t_utf8" t_utf8,
450+ testProperty "tl_utf8" tl_utf8,
451+ testProperty "t_utf16LE" t_utf16LE,
452+ testProperty "t_utf16BE" t_utf16BE,
453+ testProperty "t_utf32LE" t_utf32LE,
454+ testProperty "t_utf32BE" t_utf32BE
455455 ],
456456
457457 testGroup "instances" [
458− testProperty "s_Eq" prop_S_Eq,
459− testProperty "sf_Eq" prop_Sf_Eq,
460− testProperty "t_Eq" prop_T_Eq,
461− testProperty "tl_Eq" prop_TL_Eq,
462− testProperty "s_Ord" prop_S_Ord,
463− testProperty "sf_Ord" prop_Sf_Ord,
464− testProperty "t_Ord" prop_T_Ord,
465− testProperty "tl_Ord" prop_TL_Ord,
466− testProperty "t_Read" prop_T_Read,
467− testProperty "tl_Read" prop_TL_Read,
468− testProperty "t_Show" prop_T_Show,
469− testProperty "tl_Show" prop_TL_Show,
470− testProperty "t_mappend" prop_T_mappend,
471− testProperty "tl_mappend" prop_TL_mappend,
472− testProperty "t_mconcat" prop_T_mconcat,
473− testProperty "tl_mconcat" prop_TL_mconcat,
474− testProperty "t_IsString" prop_T_IsString,
475− testProperty "tl_IsString" prop_TL_IsString
458+ testProperty "s_Eq" s_Eq,
459+ testProperty "sf_Eq" sf_Eq,
460+ testProperty "t_Eq" t_Eq,
461+ testProperty "tl_Eq" tl_Eq,
462+ testProperty "s_Ord" s_Ord,
463+ testProperty "sf_Ord" sf_Ord,
464+ testProperty "t_Ord" t_Ord,
465+ testProperty "tl_Ord" tl_Ord,
466+ testProperty "t_Read" t_Read,
467+ testProperty "tl_Read" tl_Read,
468+ testProperty "t_Show" t_Show,
469+ testProperty "tl_Show" tl_Show,
470+ testProperty "t_mappend" t_mappend,
471+ testProperty "tl_mappend" tl_mappend,
472+ testProperty "t_mconcat" t_mconcat,
473+ testProperty "tl_mconcat" tl_mconcat,
474+ testProperty "t_IsString" t_IsString,
475+ testProperty "tl_IsString" tl_IsString
476476 ],
477477
478478 testGroup "basics" [
479− testProperty "s_cons" prop_S_cons,
480− testProperty "sf_cons" prop_Sf_cons,
481− testProperty "t_cons" prop_T_cons,
482− testProperty "tl_cons" prop_TL_cons,
483− testProperty "s_snoc" prop_S_snoc,
484− testProperty "t_snoc" prop_T_snoc,
485− testProperty "tl_snoc" prop_TL_snoc,
486− testProperty "s_append" prop_S_append,
487− testProperty "sf_append" prop_Sf_append,
488− testProperty "t_append" prop_T_append,
489− testProperty "t_uncons" prop_T_uncons,
490− testProperty "tl_uncons" prop_TL_uncons,
491− testProperty "s_head" prop_S_head,
492− testProperty "t_head" prop_T_head,
493− testProperty "tl_head" prop_TL_head,
494− testProperty "s_last" prop_S_last,
495− testProperty "t_last" prop_T_last,
496− testProperty "tl_last" prop_TL_last,
497− testProperty "s_tail" prop_S_tail,
498− testProperty "t_tail" prop_T_tail,
499− testProperty "tl_tail" prop_TL_tail,
500− testProperty "s_init" prop_S_init,
501− testProperty "t_init" prop_T_init,
502− testProperty "tl_init" prop_TL_init,
503− testProperty "s_null" prop_S_null,
504− testProperty "t_null" prop_T_null,
505− testProperty "tl_null" prop_TL_null,
506− testProperty "s_length" prop_S_length,
507− testProperty "t_length" prop_T_length,
508− testProperty "tl_length" prop_TL_length
479+ testProperty "s_cons" s_cons,
480+ testProperty "sf_cons" sf_cons,
481+ testProperty "t_cons" t_cons,
482+ testProperty "tl_cons" tl_cons,
483+ testProperty "s_snoc" s_snoc,
484+ testProperty "t_snoc" t_snoc,
485+ testProperty "tl_snoc" tl_snoc,
486+ testProperty "s_append" s_append,
487+ testProperty "sf_append" sf_append,
488+ testProperty "t_append" t_append,
489+ testProperty "t_uncons" t_uncons,
490+ testProperty "tl_uncons" tl_uncons,
491+ testProperty "s_head" s_head,
492+ testProperty "t_head" t_head,
493+ testProperty "tl_head" tl_head,
494+ testProperty "s_last" s_last,
495+ testProperty "t_last" t_last,
496+ testProperty "tl_last" tl_last,
497+ testProperty "s_tail" s_tail,
498+ testProperty "t_tail" t_tail,
499+ testProperty "tl_tail" tl_tail,
500+ testProperty "s_init" s_init,
501+ testProperty "t_init" t_init,
502+ testProperty "tl_init" tl_init,
503+ testProperty "s_null" s_null,
504+ testProperty "t_null" t_null,
505+ testProperty "tl_null" tl_null,
506+ testProperty "s_length" s_length,
507+ testProperty "t_length" t_length,
508+ testProperty "tl_length" tl_length
509509 ],
510510
511511 testGroup "transformations" [
512− testProperty "t_map" prop_T_map,
513− testProperty "tl_map" prop_TL_map,
514− testProperty "t_intercalate" prop_T_intercalate,
515− testProperty "tl_intercalate" prop_TL_intercalate,
516− testProperty "t_intersperse" prop_T_intersperse,
517− testProperty "tl_intersperse" prop_TL_intersperse,
518− testProperty "t_transpose" prop_T_transpose,
519− testProperty "tl_transpose" prop_TL_transpose,
520− testProperty "t_reverse" prop_T_reverse,
521− testProperty "tl_reverse" prop_TL_reverse,
522− testProperty "t_reverse_short" prop_T_reverse_short,
523− testProperty "t_replace" prop_T_replace,
512+ testProperty "t_map" t_map,
513+ testProperty "tl_map" tl_map,
514+ testProperty "t_intercalate" t_intercalate,
515+ testProperty "tl_intercalate" tl_intercalate,
516+ testProperty "t_intersperse" t_intersperse,
517+ testProperty "tl_intersperse" tl_intersperse,
518+ testProperty "t_transpose" t_transpose,
519+ testProperty "tl_transpose" tl_transpose,
520+ testProperty "t_reverse" t_reverse,
521+ testProperty "tl_reverse" tl_reverse,
522+ testProperty "t_reverse_short" t_reverse_short,
523+ testProperty "t_replace" t_replace,
524524
525525 testGroup "case conversion" [
526− testProperty "t_toCaseFold_length" prop_T_toCaseFold_length,
527− testProperty "t_toLower_length" prop_T_toLower_length,
528− testProperty "t_toLower_lower" prop_T_toLower_lower,
529− testProperty "t_toUpper_length" prop_T_toUpper_length,
530− testProperty "t_toUpper_upper" prop_T_toUpper_upper
526+ testProperty "t_toCaseFold_length" t_toCaseFold_length,
527+ testProperty "t_toLower_length" t_toLower_length,
528+ testProperty "t_toLower_lower" t_toLower_lower,
529+ testProperty "t_toUpper_length" t_toUpper_length,
530+ testProperty "t_toUpper_upper" t_toUpper_upper
531531 ],
532532
533533 testGroup "justification" [
534− testProperty "s_justifyLeft" prop_S_justifyLeft,
535− testProperty "t_justifyLeft" prop_T_justifyLeft,
536− testProperty "t_justifyRight" prop_T_justifyRight
534+ testProperty "s_justifyLeft" s_justifyLeft,
535+ testProperty "t_justifyLeft" t_justifyLeft,
536+ testProperty "t_justifyRight" t_justifyRight
537537 ]
538538 ],
539539
540540 testGroup "folds" [
541− testProperty "t_foldl" prop_T_foldl,
542− testProperty "tl_foldl" prop_TL_foldl,
543− testProperty "t_foldl'" prop_T_foldl',
544− testProperty "tl_foldl'" prop_TL_foldl',
545− testProperty "t_foldl1" prop_T_foldl1,
546− testProperty "tl_foldl1" prop_TL_foldl1,
547− testProperty "t_foldl1'" prop_T_foldl1',
548− testProperty "tl_foldl1'" prop_TL_foldl1',
549− testProperty "t_foldr" prop_T_foldr,
550− testProperty "tl_foldr" prop_TL_foldr,
551− testProperty "t_foldr1" prop_T_foldr1,
552− testProperty "tl_foldr1" prop_TL_foldr1,
541+ testProperty "t_foldl" t_foldl,
542+ testProperty "tl_foldl" tl_foldl,
543+ testProperty "t_foldl'" t_foldl',
544+ testProperty "tl_foldl'" tl_foldl',
545+ testProperty "t_foldl1" t_foldl1,
546+ testProperty "tl_foldl1" tl_foldl1,
547+ testProperty "t_foldl1'" t_foldl1',
548+ testProperty "tl_foldl1'" tl_foldl1',
549+ testProperty "t_foldr" t_foldr,
550+ testProperty "tl_foldr" tl_foldr,
551+ testProperty "t_foldr1" t_foldr1,
552+ testProperty "tl_foldr1" tl_foldr1,
553553
554554 testGroup "special" [
555− testProperty "t_concat" prop_T_concat,
556− testProperty "tl_concat" prop_TL_concat,
557− testProperty "t_concatMap" prop_T_concatMap,
558− testProperty "tl_concatMap" prop_TL_concatMap,
559− testProperty "t_any" prop_T_any,
560− testProperty "tl_any" prop_TL_any,
561− testProperty "t_all" prop_T_all,
562− testProperty "tl_all" prop_TL_all,
563− testProperty "t_maximum" prop_T_maximum,
564− testProperty "tl_maximum" prop_TL_maximum,
565− testProperty "t_minimum" prop_T_minimum,
566− testProperty "tl_minimum" prop_TL_minimum
555+ testProperty "t_concat" t_concat,
556+ testProperty "tl_concat" tl_concat,
557+ testProperty "t_concatMap" t_concatMap,
558+ testProperty "tl_concatMap" tl_concatMap,
559+ testProperty "t_any" t_any,
560+ testProperty "tl_any" tl_any,
561+ testProperty "t_all" t_all,
562+ testProperty "tl_all" tl_all,
563+ testProperty "t_maximum" t_maximum,
564+ testProperty "tl_maximum" tl_maximum,
565+ testProperty "t_minimum" t_minimum,
566+ testProperty "tl_minimum" tl_minimum
567567 ]
568568 ],
569569
570570 testGroup "construction" [
571571 testGroup "scans" [
572− testProperty "t_scanl" prop_T_scanl,
573− testProperty "tl_scanl" prop_TL_scanl,
574− testProperty "t_scanl1" prop_T_scanl1,
575− testProperty "tl_scanl1" prop_TL_scanl1,
576− testProperty "t_scanr" prop_T_scanr,
577− testProperty "tl_scanr" prop_TL_scanr,
578− testProperty "t_scanr1" prop_T_scanr1,
579− testProperty "tl_scanr1" prop_TL_scanr1
572+ testProperty "t_scanl" t_scanl,
573+ testProperty "tl_scanl" tl_scanl,
574+ testProperty "t_scanl1" t_scanl1,
575+ testProperty "tl_scanl1" tl_scanl1,
576+ testProperty "t_scanr" t_scanr,
577+ testProperty "tl_scanr" tl_scanr,
578+ testProperty "t_scanr1" t_scanr1,
579+ testProperty "tl_scanr1" tl_scanr1
580580 ],
581581
582582 testGroup "mapAccum" [
583− testProperty "t_mapAccumL" prop_T_mapAccumL,
584− testProperty "tl_mapAccumL" prop_TL_mapAccumL,
585− testProperty "t_mapAccumR" prop_T_mapAccumR,
586− testProperty "tl_mapAccumR" prop_TL_mapAccumR
583+ testProperty "t_mapAccumL" t_mapAccumL,
584+ testProperty "tl_mapAccumL" tl_mapAccumL,
585+ testProperty "t_mapAccumR" t_mapAccumR,
586+ testProperty "tl_mapAccumR" tl_mapAccumR
587587 ],
588588
589589 testGroup "unfolds" [
590− testProperty "t_replicate" prop_T_replicate,
591− testProperty "tl_replicate" prop_TL_replicate,
592− testProperty "t_unfoldr" prop_T_unfoldr,
593− testProperty "tl_unfoldr" prop_TL_unfoldr,
594− testProperty "t_unfoldrN" prop_T_unfoldrN,
595− testProperty "tl_unfoldrN" prop_TL_unfoldrN
590+ testProperty "t_replicate" t_replicate,
591+ testProperty "tl_replicate" tl_replicate,
592+ testProperty "t_unfoldr" t_unfoldr,
593+ testProperty "tl_unfoldr" tl_unfoldr,
594+ testProperty "t_unfoldrN" t_unfoldrN,
595+ testProperty "tl_unfoldrN" tl_unfoldrN
596596 ]
597597 ],
598598
599599 testGroup "substrings" [
600600 testGroup "breaking" [
601− testProperty "s_take" prop_S_take,
602− testProperty "t_take" prop_T_take,
603− testProperty "tl_take" prop_TL_take,
604− testProperty "s_drop" prop_S_drop,
605− testProperty "t_drop" prop_T_drop,
606− testProperty "tl_drop" prop_TL_drop,
607− testProperty "s_takeWhile" prop_S_takeWhile,
608− testProperty "t_takeWhile" prop_T_takeWhile,
609− testProperty "tl_takeWhile" prop_TL_takeWhile,
610− testProperty "s_dropWhile" prop_S_dropWhile,
611− testProperty "t_dropWhile" prop_T_dropWhile,
612− testProperty "tl_dropWhile" prop_TL_dropWhile,
613− testProperty "s_dropWhileEnd" prop_S_dropWhileEnd,
614− testProperty "t_dropWhileEnd" prop_T_dropWhileEnd,
615− testProperty "t_dropAround" prop_T_dropAround,
616− testProperty "t_stripStart" prop_T_stripStart,
617− testProperty "t_stripEnd" prop_T_stripEnd,
618− testProperty "t_strip" prop_T_strip,
619− testProperty "t_splitAt" prop_T_splitAt,
620− testProperty "tl_splitAt" prop_TL_splitAt,
621− testProperty "t_span" prop_T_span,
622− testProperty "tl_span" prop_TL_span,
623− testProperty "t_break" prop_T_break,
624− testProperty "tl_break" prop_TL_break,
625− testProperty "t_group" prop_T_group,
626− testProperty "tl_group" prop_TL_group,
627− testProperty "t_groupBy" prop_T_groupBy,
628− testProperty "tl_groupBy" prop_TL_groupBy,
629− testProperty "t_inits" prop_T_inits,
630− testProperty "tl_inits" prop_TL_inits,
631− testProperty "t_tails" prop_T_tails,
632− testProperty "tl_tails" prop_TL_tails
601+ testProperty "s_take" s_take,
602+ testProperty "t_take" t_take,
603+ testProperty "tl_take" tl_take,
604+ testProperty "s_drop" s_drop,
605+ testProperty "t_drop" t_drop,
606+ testProperty "tl_drop" tl_drop,
607+ testProperty "s_takeWhile" s_takeWhile,
608+ testProperty "t_takeWhile" t_takeWhile,
609+ testProperty "tl_takeWhile" tl_takeWhile,
610+ testProperty "s_dropWhile" s_dropWhile,
611+ testProperty "t_dropWhile" t_dropWhile,
612+ testProperty "tl_dropWhile" tl_dropWhile,
613+ testProperty "s_dropWhileEnd" s_dropWhileEnd,
614+ testProperty "t_dropWhileEnd" t_dropWhileEnd,
615+ testProperty "t_dropAround" t_dropAround,
616+ testProperty "t_stripStart" t_stripStart,
617+ testProperty "t_stripEnd" t_stripEnd,
618+ testProperty "t_strip" t_strip,
619+ testProperty "t_splitAt" t_splitAt,
620+ testProperty "tl_splitAt" tl_splitAt,
621+ testProperty "t_span" t_span,
622+ testProperty "tl_span" tl_span,
623+ testProperty "t_break" t_break,
624+ testProperty "tl_break" tl_break,
625+ testProperty "t_group" t_group,
626+ testProperty "tl_group" tl_group,
627+ testProperty "t_groupBy" t_groupBy,
628+ testProperty "tl_groupBy" tl_groupBy,
629+ testProperty "t_inits" t_inits,
630+ testProperty "tl_inits" tl_inits,
631+ testProperty "t_tails" t_tails,
632+ testProperty "tl_tails" tl_tails
633633 ],
634634
635635 testGroup "breaking many" [
636− testProperty "t_split_i" prop_T_split_i,
637− testProperty "t_splitTimes_i" prop_T_splitTimes_i,
638− testProperty "t_splitTimes_split" prop_T_splitTimes_split,
639− testProperty "t_splitTimesEnd_i" prop_T_splitTimesEnd_i,
640− testProperty "t_splitTimesEnd_split" prop_T_splitTimesEnd_split,
641− testProperty "tl_split_i" prop_TL_split_i,
642− testProperty "t_splitWith" prop_T_splitWith,
643− testProperty "t_splitWith_count" prop_T_splitWith_count,
644− testProperty "t_splitWith_split" prop_T_splitWith_split,
645− testProperty "t_splitWith_Csplit" prop_T_splitWith_Csplit,
646− testProperty "tl_splitWith" prop_TL_splitWith,
647− testProperty "t_chunksOf_same_lengths" prop_T_chunksOf_same_lengths,
648− testProperty "t_chunksOf_length" prop_T_chunksOf_length,
649− testProperty "t_breakSubstringC" prop_T_breakSubstringC,
650− testProperty "t_breakSubstring_isInfixOf" prop_T_breakSubstring_isInfixOf
636+ testProperty "t_split_i" t_split_i,
637+ testProperty "t_splitTimes_i" t_splitTimes_i,
638+ testProperty "t_splitTimes_split" t_splitTimes_split,
639+ testProperty "t_splitTimesEnd_i" t_splitTimesEnd_i,
640+ testProperty "t_splitTimesEnd_split" t_splitTimesEnd_split,
641+ testProperty "tl_split_i" tl_split_i,
642+ testProperty "t_splitWith" t_splitWith,
643+ testProperty "t_splitWith_count" t_splitWith_count,
644+ testProperty "t_splitWith_split" t_splitWith_split,
645+ testProperty "t_splitWith_Csplit" t_splitWith_Csplit,
646+ testProperty "tl_splitWith" tl_splitWith,
647+ testProperty "t_chunksOf_same_lengths" t_chunksOf_same_lengths,
648+ testProperty "t_chunksOf_length" t_chunksOf_length,
649+ testProperty "t_breakSubstringC" t_breakSubstringC,
650+ testProperty "t_breakSubstring_isInfixOf" t_breakSubstring_isInfixOf
651651 ],
652652
653653 testGroup "lines and words" [
654− testProperty "t_lines" prop_T_lines,
655− testProperty "tl_lines" prop_TL_lines,
656− --testProperty "t_lines'" prop_T_lines',
657− testProperty "t_words" prop_T_words,
658− testProperty "tl_words" prop_TL_words,
659− testProperty "t_unlines" prop_T_unlines,
660− testProperty "tl_unlines" prop_TL_unlines,
661− testProperty "t_unwords" prop_T_unwords,
662− testProperty "tl_unwords" prop_TL_unwords
654+ testProperty "t_lines" t_lines,
655+ testProperty "tl_lines" tl_lines,
656+ --testProperty "t_lines'" t_lines',
657+ testProperty "t_words" t_words,
658+ testProperty "tl_words" tl_words,
659+ testProperty "t_unlines" t_unlines,
660+ testProperty "tl_unlines" tl_unlines,
661+ testProperty "t_unwords" t_unwords,
662+ testProperty "tl_unwords" tl_unwords
663663 ]
664664 ],
665665
666666 testGroup "predicates" [
667− testProperty "s_isPrefixOf" prop_S_isPrefixOf,
668− testProperty "t_isPrefixOf" prop_T_isPrefixOf,
669− testProperty "tl_isPrefixOf" prop_TL_isPrefixOf,
670− testProperty "t_isSuffixOf" prop_T_isSuffixOf,
671− testProperty "tl_isSuffixOf" prop_TL_isSuffixOf,
672− testProperty "t_isInfixOf" prop_T_isInfixOf,
673− testProperty "tl_isInfixOf" prop_TL_isInfixOf
667+ testProperty "s_isPrefixOf" s_isPrefixOf,
668+ testProperty "t_isPrefixOf" t_isPrefixOf,
669+ testProperty "tl_isPrefixOf" tl_isPrefixOf,
670+ testProperty "t_isSuffixOf" t_isSuffixOf,
671+ testProperty "tl_isSuffixOf" tl_isSuffixOf,
672+ testProperty "t_isInfixOf" t_isInfixOf,
673+ testProperty "tl_isInfixOf" tl_isInfixOf
674674 ],
675675
676676 testGroup "searching" [
677− testProperty "t_elem" prop_T_elem,
678− testProperty "tl_elem" prop_TL_elem,
679− testProperty "t_filter" prop_T_filter,
680− testProperty "tl_filter" prop_TL_filter,
681− testProperty "t_find" prop_T_find,
682− testProperty "tl_find" prop_TL_find,
683− testProperty "t_partition" prop_T_partition,
684− testProperty "tl_partition" prop_TL_partition
677+ testProperty "t_elem" t_elem,
678+ testProperty "tl_elem" tl_elem,
679+ testProperty "t_filter" t_filter,
680+ testProperty "tl_filter" tl_filter,
681+ testProperty "t_find" t_find,
682+ testProperty "tl_find" tl_find,
683+ testProperty "t_partition" t_partition,
684+ testProperty "tl_partition" tl_partition
685685 ],
686686
687687 testGroup "indexing" [
688− testProperty "t_index" prop_T_index,
689− testProperty "tl_index" prop_TL_index,
690− testProperty "t_findIndex" prop_T_findIndex,
691− testProperty "tl_findIndex" prop_TL_findIndex,
692− testProperty "t_findIndices" prop_T_findIndices,
693− testProperty "tl_findIndices" prop_TL_findIndices,
694− testProperty "t_elemIndex" prop_T_elemIndex,
695− testProperty "tl_elemIndex" prop_TL_elemIndex,
696− testProperty "t_elemIndices" prop_T_elemIndices,
697− testProperty "tl_elemIndices" prop_TL_elemIndices,
698− testProperty "t_count" prop_T_count,
699− testProperty "tl_count" prop_TL_count
688+ testProperty "t_index" t_index,
689+ testProperty "tl_index" tl_index,
690+ testProperty "t_findIndex" t_findIndex,
691+ testProperty "tl_findIndex" tl_findIndex,
692+ testProperty "t_findIndices" t_findIndices,
693+ testProperty "tl_findIndices" tl_findIndices,
694+ testProperty "t_elemIndex" t_elemIndex,
695+ testProperty "tl_elemIndex" tl_elemIndex,
696+ testProperty "t_elemIndices" t_elemIndices,
697+ testProperty "tl_elemIndices" tl_elemIndices,
698+ testProperty "t_count" t_count,
699+ testProperty "tl_count" tl_count
700700 ],
701701
702702 testGroup "zips" [
703− testProperty "t_zip" prop_T_zip,
704− testProperty "tl_zip" prop_TL_zip,
705− testProperty "t_zipWith" prop_T_zipWith,
706− testProperty "tl_zipWith" prop_TL_zipWith
703+ testProperty "t_zip" t_zip,
704+ testProperty "tl_zip" tl_zip,
705+ testProperty "t_zipWith" t_zipWith,
706+ testProperty "tl_zipWith" tl_zipWith
707707 ],
708708
709709 testGroup "regressions" [
710− testProperty "s_filter_eq" prop_S_filter_eq
710+ testProperty "s_filter_eq" s_filter_eq
711711 ]
712712 ]