@@ -516,6 +516,10 @@ sf_takeWhile q p = (L.takeWhile p . L.filter q) `eqP`
516516 (unpackS . S.takeWhile p . S.filter q)
517517t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
518518tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
519+t_takeWhileEnd p = (L.reverse . L.takeWhile p . L.reverse) `eqP`
520+ (unpackS . T.takeWhileEnd p)
521+tl_takeWhileEnd p = (L.reverse . L.takeWhile p . L.reverse) `eqP`
522+ (unpackS . TL.takeWhileEnd p)
519523s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
520524s_dropWhile_s p = L.dropWhile p `eqP` (unpackS . S.unstream . S.dropWhile p)
521525sf_dropWhile q p = (L.dropWhile p . L.filter q) `eqP`
@@ -1142,6 +1146,8 @@ tests =
11421146 testProperty "sf_takeWhile" sf_takeWhile,
11431147 testProperty "t_takeWhile" t_takeWhile,
11441148 testProperty "tl_takeWhile" tl_takeWhile,
1149+ testProperty "t_takeWhileEnd" t_takeWhileEnd,
1150+ testProperty "tl_takeWhileEnd" tl_takeWhileEnd,
11451151 testProperty "sf_dropWhile" sf_dropWhile,
11461152 testProperty "s_dropWhile" s_dropWhile,
11471153 testProperty "s_dropWhile_s" s_dropWhile_s,