module Data.List.HT (
L.inits,
L.tails,
L.groupBy,
L.group,
L.unzip,
L.partition,
L.span,
L.break,
L.chop,
L.breakAfter,
L.takeUntil,
L.segmentAfter,
L.segmentBefore,
L.segmentAfterMaybe,
L.segmentBeforeMaybe,
L.removeEach,
L.splitEverywhere,
L.splitLast,
L.viewL,
L.viewR,
L.switchL,
L.switchR,
L.dropRev,
L.takeRev,
L.splitAtRev,
dropWhileRev,
takeWhileRev,
L.maybePrefixOf,
L.maybeSuffixOf,
L.partitionMaybe,
L.takeWhileJust,
L.unzipEithers,
L.sieve,
L.sliceHorizontal,
L.sliceVertical,
L.search,
L.replace,
L.multiReplace,
L.shear,
L.shearTranspose,
L.outerProduct,
L.takeWhileMulti,
L.rotate,
L.mergeBy,
L.allEqual,
L.isAscending,
L.isAscendingLazy,
L.mapAdjacent,
L.mapAdjacent1,
L.range,
L.padLeft,
L.padRight,
L.iterateAssociative,
L.iterateLeaky,
L.lengthAtLeast,
L.lengthAtMost,
) where
import qualified Data.List.HT.Private as L
import qualified Data.List.Reverse.StrictElement as Rev
dropWhileRev :: (a -> Bool) -> [a] -> [a]
dropWhileRev = Rev.dropWhile
takeWhileRev :: (a -> Bool) -> [a] -> [a]
takeWhileRev = Rev.takeWhile