From: simonpj@microsoft.com Date: Tue, 15 Aug 2006 16:19:47 +0000 (+0000) Subject: Moving list-length code from one place in the file to another X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=8ddba0f1a73eba7b03d27628cb54288e6a8de978 Moving list-length code from one place in the file to another --- diff --git a/compiler/utils/Util.lhs b/compiler/utils/Util.lhs index 279a108..8cd9e54 100644 --- a/compiler/utils/Util.lhs +++ b/compiler/utils/Util.lhs @@ -303,6 +303,18 @@ listLengthCmp = atLength atLen atEnd 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] @@ -648,17 +660,6 @@ eqListBy eq [] [] = True 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