[move Ordering to jhc-prim, untangle libraries.
John Meacham <john@repetae.net>**20120123072144
 Ignore-this: a18743cb6aeea570d1c9fb3b8888851f
] hunk ./lib/jhc-prim/Jhc/Prim/Prim.hs 13
+data Ordering =  LT | EQ | GT
hunk ./lib/jhc/Jhc/Enum.hs 5
-import Data.Int
hunk ./lib/jhc/Jhc/Enum.hs 8
-import Jhc.Order
hunk ./lib/jhc/Jhc/Enum.hs 9
+import Jhc.Prim.Prim
hunk ./lib/jhc/Jhc/Enum.hs 13
+otherwise = True
+
hunk ./lib/jhc/Jhc/Enum.hs 50
-                      where lastInt | c' < c    = minBound
+                      where lastInt | c' `intLt` c    = minBound
hunk ./lib/jhc/Jhc/Enum.hs 53
-        f x | x > y = []
+        f x | x `intGt` y = []
hunk ./lib/jhc/Jhc/Enum.hs 55
-    enumFromThenTo x y z | y >= x = f x where
+    enumFromThenTo x y z | y `intGte` x = f x where
hunk ./lib/jhc/Jhc/Enum.hs 57
-        f x | x <= z = x:f (x `plus` inc)
+        f x | x `intLte` z = x:f (x `plus` inc)
hunk ./lib/jhc/Jhc/Enum.hs 61
-        f x | x >= z = x:f (x `plus` inc)
+        f x | x `intGte` z = x:f (x `plus` inc)
hunk ./lib/jhc/Jhc/Enum.hs 64
+foreign import primitive "box" boxBool :: Bool_ -> Bool
+foreign import primitive "Gte" intGte' :: Int -> Int -> Bool_
+foreign import primitive "Gt" intGt' :: Int -> Int -> Bool_
+foreign import primitive "Lte" intLte' :: Int -> Int -> Bool_
+foreign import primitive "Lt" intLt' :: Int -> Int -> Bool_
+foreign import primitive "Lt" charLt' :: Char -> Char -> Bool_
+
+intGte x y = boxBool (intGte' x y)
+intGt x y = boxBool (intGt' x y)
+intLte x y = boxBool (intLte' x y)
+intLt x y = boxBool (intLt' x y)
+charLt x y = boxBool (charLt' x y)
+
hunk ./lib/jhc/Jhc/Enum.hs 83
-                            lastChar | c' < c    = minBound
+                            lastChar | c' `charLt` c    = minBound
hunk ./lib/jhc/Jhc/Enum.hs 96
+deriving instance Enum Bool
+deriving instance Enum Ordering
+
+instance Bounded Bool where
+    minBound = False
+    maxBound = True
+instance Bounded Ordering where
+    minBound = LT
+    maxBound = GT
+instance Bounded () where
+    minBound = ()
+    maxBound = ()
hunk ./lib/jhc/Jhc/Order.hs 14
-import Jhc.Enum
hunk ./lib/jhc/Jhc/Order.hs 22
-deriving instance Enum Bool
-
-data  Ordering    =  LT | EQ | GT
-    deriving (Eq, Ord, Bounded, Enum)
-
-instance Bounded Bool where
-    minBound = False
-    maxBound = True
+deriving instance Eq Ordering
+deriving instance Ord Ordering
hunk ./lib/jhc/Jhc/Order.hs 70
-instance Bounded () where
-    minBound = ()
-    maxBound = ()
-
hunk ./src/DataConstructors.hs 437
-        b3 = tvr { tvrIdent = anonymous 5, tvrType = tBoolzh }
+        b3 = tvr { tvrIdent = anonymous 5,  tvrType = tBoolzh }
hunk ./src/E/E.hs 60
-    vTrue  = (litCons { litName = dc_Boolzh, litArgs = [ELit (LitInt 1 tEnumzh)], litType = tBool })
-    vFalse = (litCons { litName = dc_Boolzh, litArgs = [ELit (LitInt 0 tEnumzh)], litType = tBool })
+    vTrue  = (litCons { litName = dc_Boolzh, litArgs = [ELit lTruezh], litType = tBool })
+    vFalse = (litCons { litName = dc_Boolzh, litArgs = [ELit lFalsezh], litType = tBool })
hunk ./src/E/E.hs 67
+tBoolzh = ELit litCons { litName = tc_Bool_, litType = eHash, litAliasFor = Just tEnumzh }
+lFalsezh = (LitInt 0 tBoolzh)
+lTruezh = (LitInt 1 tBoolzh)
hunk ./src/E/Show.hs 165
-tBoolzh = ELit litCons { litName = tc_Bool_, litType = eHash, litAliasFor = Just tEnumzh }
-
hunk ./src/E/Show.hs 186
-        f e | e == tBoolzh   = return $ atom $ text "Bool#"
+        f e | e == tBoolzh   = return $ atom $ text "Bool_"
hunk ./src/E/Values.hs 261
-tBoolzh = ELit litCons { litName = tc_Bool_, litType = eHash, litAliasFor = Just tEnumzh }
-
-lFalsezh = (LitInt 0 tBoolzh)
-lTruezh = (LitInt 1 tBoolzh)
-
hunk ./src/data/names.txt 16
-Ordering   Jhc.Order.Ordering
+Ordering   Jhc.Prim.Prim.Ordering