mapFst, mapSnd,
mapAndUnzip, mapAndUnzip3,
nOfThem, filterOut,
- lengthExceeds, lengthIs, lengthAtLeast, listLengthCmp, atLength,
+
+ lengthExceeds, lengthIs, lengthAtLeast,
+ listLengthCmp, atLength, equalLength, compareLength,
+
isSingleton, only, singleton,
notNull, snocView,
takeList, dropList, splitAtList, split,
-- comparisons
- isEqual, eqListBy, equalLength, compareLength,
+ isEqual, eqListBy,
thenCmp, cmpList, prefixMatch, suffixMatch, maybePrefixMatch,
removeSpaces,
atLen [] = EQ
atLen _ = GT
+equalLength :: [a] -> [b] -> Bool
+equalLength [] [] = True
+equalLength (_:xs) (_:ys) = equalLength xs ys
+equalLength xs ys = False
+
+compareLength :: [a] -> [b] -> Ordering
+compareLength [] [] = EQ
+compareLength (_:xs) (_:ys) = compareLength xs ys
+compareLength [] _ys = LT
+compareLength _xs [] = GT
+
+----------------------------
singleton :: a -> [a]
singleton x = [x]
eqListBy eq (x:xs) (y:ys) = eq x y && eqListBy eq xs ys
eqListBy eq xs ys = False
-equalLength :: [a] -> [b] -> Bool
-equalLength [] [] = True
-equalLength (_:xs) (_:ys) = equalLength xs ys
-equalLength xs ys = False
-
-compareLength :: [a] -> [b] -> Ordering
-compareLength [] [] = EQ
-compareLength (_:xs) (_:ys) = compareLength xs ys
-compareLength [] _ys = LT
-compareLength _xs [] = GT
-
cmpList :: (a -> a -> Ordering) -> [a] -> [a] -> Ordering
-- `cmpList' uses a user-specified comparer