From 8ddba0f1a73eba7b03d27628cb54288e6a8de978 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Tue, 15 Aug 2006 16:19:47 +0000 Subject: [PATCH] Moving list-length code from one place in the file to another --- compiler/utils/Util.lhs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) 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 -- 1.7.10.4