use 'compare' when using the law of trichotomy
authorIsaac Dupree <id@isaac.cedarswampstudios.org>
Mon, 6 Aug 2007 23:52:43 +0000 (23:52 +0000)
committerIsaac Dupree <id@isaac.cedarswampstudios.org>
Mon, 6 Aug 2007 23:52:43 +0000 (23:52 +0000)
compiler/utils/FastString.lhs

index cdabd62..637ef0c 100644 (file)
@@ -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"