From: Isaac Dupree Date: Mon, 6 Aug 2007 23:52:43 +0000 (+0000) Subject: use 'compare' when using the law of trichotomy X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=a5e533a6d23eed8a8f14314d54fd727b8023edf9 use 'compare' when using the law of trichotomy --- diff --git a/compiler/utils/FastString.lhs b/compiler/utils/FastString.lhs index cdabd62..637ef0c 100644 --- a/compiler/utils/FastString.lhs +++ b/compiler/utils/FastString.lhs @@ -134,12 +134,10 @@ cmpFS (FastString u1 l1 _ buf1 _) (FastString u2 l2 _ buf2 _) = withForeignPtr buf1 $ \p1 -> withForeignPtr buf2 $ \p2 -> do res <- memcmp p1 p2 l - case () of - _ | res < 0 -> return LT - | res == 0 -> if l1 == l2 then return EQ - else if l1 < l2 then return LT - else return GT - | otherwise -> return GT + return $ case compare res 0 of + LT -> LT + EQ -> compare l1 l2 + GT -> GT #ifndef __HADDOCK__ foreign import ccall unsafe "ghc_memcmp"