[get rid of c based names in favor of c-- style types
John Meacham <john@repetae.net>**20070525021802] hunk ./C/Arch.hs 98
-archOpTy ai s = case archGetPrimInfo ai s of
-    Nothing -> f s
-    Just pt -> case primTypeType pt of
-        PrimTypeIntegral -> Op.TyBits (Op.Bits $ 8 * primTypeSizeOf pt) (if primTypeIsSigned pt then Op.HintSigned else Op.HintUnsigned)
-        PrimTypeFloating ->  Op.TyBits (Op.Bits $ 8 * primTypeSizeOf pt) Op.HintFloat
-        _ -> f s
+archOpTy ai s = case Op.readTy s of
+    Just t -> t
+    Nothing -> case archGetPrimInfo ai s of
+        Nothing -> f s
+        Just pt -> case primTypeType pt of
+            PrimTypeIntegral -> Op.TyBits (Op.Bits $ 8 * primTypeSizeOf pt) (if primTypeIsSigned pt then Op.HintSigned else Op.HintUnsigned)
+            PrimTypeFloating ->  Op.TyBits (Op.Bits $ 8 * primTypeSizeOf pt) Op.HintFloat
+            _ -> f s
hunk ./C/Prims.hs 76
-data PrimTypeInfo = PrimSizeOf | PrimMaxBound | PrimMinBound | PrimAlignmentOf | PrimTypeIsSigned
+data PrimTypeInfo = PrimSizeOf | PrimMaxBound | PrimMinBound | PrimAlignmentOf | PrimTypeIsSigned  | PrimUMaxBound
hunk ./C/Prims.hs 163
+    pprint PrimTypeInfo { primArgType = at, primTypeInfo = PrimUMaxBound } = text "umax" <> parens (text at)
hunk ./DataConstructors.hs 45
-import Data.Binary
hunk ./DataConstructors.hs 46
-import FrontEnd.Class(instanceName)
+import Data.Binary
hunk ./DataConstructors.hs 54
-import E.TypeCheck
hunk ./DataConstructors.hs 55
+import E.TypeCheck
hunk ./DataConstructors.hs 57
+import FrontEnd.Class(instanceName)
hunk ./DataConstructors.hs 59
+import FrontEnd.Tc.Type
hunk ./DataConstructors.hs 69
-import FrontEnd.Tc.Type
-import FrontEnd.Tc.Kind
hunk ./DataConstructors.hs 76
+import qualified C.Op as Op
hunk ./DataConstructors.hs 464
-        h cl | cl == class_Eq = [mkCmpFunc (func_equals sFuncNames) "=="]
+        h cl | cl == class_Eq = [mkCmpFunc (func_equals sFuncNames) Op.Eq]
hunk ./DataConstructors.hs 466
-                mkCmpFunc (func_geq sFuncNames) ">=",
-                mkCmpFunc (func_leq sFuncNames) "<=",
-                mkCmpFunc (func_lt sFuncNames) "<",
-                mkCmpFunc (func_gt sFuncNames) ">"]
+                mkCmpFunc (func_geq sFuncNames) Op.UGte,
+                mkCmpFunc (func_leq sFuncNames) Op.ULte,
+                mkCmpFunc (func_lt sFuncNames)  Op.ULt,
+                mkCmpFunc (func_gt sFuncNames)  Op.UGt]
hunk ./DataConstructors.hs 481
-    oper_IIB op a b = EPrim (APrim (Operator op ["int","int"] "int") mempty) [a,b] tBoolzh
+    oper_IIB op a b = EPrim (APrim (Op (Op.BinOp op Op.bits_int Op.bits_int) Op.bits_int) mempty) [a,b] tBoolzh
hunk ./DataConstructors.hs 803
-    (tc_Int__,rt_int),
-    (tc_Addr__,rt_HsPtr),
-    (tc_Word8__,rt_uint8_t),
-    (tc_Char__,rt_HsChar),
-    (tc_Bool__,rt_int)]
+    (tc_Int__,rt_bits_int_),
+    (tc_Addr__,rt_bits_ptr_),
+    (tc_Word8__,rt_bits8),
+    (tc_Char__,rt_bits32),
+    (tc_Bool__,rt_bits_int_)]
hunk ./E/ToHs.hs 151
-    builtIns = [tc_Int,tc_Char,dc_Int,dc_Char,rt_int,rt_HsChar,tc_World__,tc_Array__,tc_MutArray__,tc_Ref__,rt_HsPtr]
+    --builtIns = [tc_Int,tc_Char,dc_Int,dc_Char,rt_int,rt_HsChar,tc_World__,tc_Array__,tc_MutArray__,tc_Ref__,rt_HsPtr]
+    builtIns = [tc_Int,tc_Char,dc_Int,dc_Char,tc_World__,tc_Array__,tc_MutArray__,tc_Ref__]
hunk ./FrontEnd/Tc/Class.hs 122
-      | otherwise = fail $ "Classes do not match: " ++ show (x,y)
+matchPred x y = fail $ "Classes do not match: " ++ show (x,y)
hunk ./FrontEnd/Tc/Class.hs 230
-        vs  = [ v  | (v,qs,ts) <- ams ]
+        _vs  = [ v  | (v,qs,ts) <- ams ]
hunk ./Grin/FromE.hs 457
-            let p = prim { primType = ([stringNameToTy (show rt_HsPtr)],pt) }
+            let p = prim { primType = ([stringNameToTy (show rt_bits_ptr_)],pt) }
hunk ./Grin/FromE.hs 461
-            let p = prim { primType = ([stringNameToTy (show rt_HsPtr)],pt) }
+            let p = prim { primType = ([stringNameToTy (show rt_bits_ptr_)],pt) }
hunk ./Grin/FromE.hs 466
-            let p = prim { primType = ([stringNameToTy (show rt_HsPtr),pt],tyUnit) }
+            let p = prim { primType = ([stringNameToTy (show rt_bits_ptr_),pt],tyUnit) }
hunk ./Name/Names.hs 26
-    tIntzh = rt_int
-    tCharzh = rt_HsChar
-    tIntegerzh = rt_intmax_t
+    tIntzh = toName RawType "bits<int>" -- rt_int
+    tCharzh = toName RawType "bits32" -- rt_HsChar
+    tIntegerzh = toName RawType "bits<max>" -- rt_intmax_t
hunk ./data/PrimitiveOperators-in.hs 6
-import qualified Data.Map as Map
hunk ./data/PrimitiveOperators-in.hs 14
-import Name.Names
hunk ./data/PrimitiveOperators-in.hs 57
-ot_int = stringToOpTy "int"
+ot_int = stringToOpTy "bits<int>"
hunk ./data/PrimitiveOperators-in.hs 66
-    intt = rawType "int"
+    intt = rawType "bits<int>"
hunk ./data/PrimitiveOperators-in.hs 155
-    tvr' = tVr 4 (rawType "HsPtr")
+    tvr' = tVr 4 (rawType "bits<ptr>")
hunk ./data/PrimitiveOperators-in.hs 166
-    ptr_tvr' =  (tVr 6 (rawType "HsPtr"))
+    ptr_tvr' =  (tVr 6 (rawType "bits<ptr>"))
hunk ./data/PrimitiveOperators-in.hs 173
-buildPeek t p = ELam tvr $ createIO t (\tvrWorld -> EPrim (APrim (Peek p) mempty) [EVar tvrWorld,EVar tvr] (ltTuple [tWorld__,t]))  where
-    tvr =  (tVr 2 (tPtr t))
-buildPoke t p = ELam ptr_tvr $ ELam v_tvr $ createIO_ $ (\tw -> EPrim (APrim (Poke p) mempty) [EVar tw, EVar ptr_tvr, EVar v_tvr] tWorld__) where
-    ptr_tvr =  (tVr 2 (tPtr t))
-    v_tvr = tVr 4 t
---toIO t x = prim_unsafeCoerce x (tIO t)
-
hunk ./data/PrimitiveOperators-in.hs 184
---    cn = toName DataConstructor $ nameName cn'
---prim_number _ _ _ _ = error "prim_number: invalid arg"
-
-
---prim_const cn s st et = eStrictLet (tVr 2 st) (EPrim (APrim (CConst s t) mempty) [] st) (ELit (litCons { litName = cn, litArgs = [EVar $ tVr 2 st], litType = et })) where
hunk ./data/PrimitiveOperators-in.hs 185
---prim_const _ _ _ _ _ = error "prim_const: invalid arg"
hunk ./data/PrimitiveOperators-in.hs 201
-    {-
-prim_maxbound "HsChar" e = ELit $ LitInt 0x10ffff (rawType "HsChar")
-prim_maxbound s e | Just pt <- genericPrimitiveInfo s = case primTypeIsSigned pt of
-    False -> ELit $ LitInt (2 ^ (8 * primTypeSizeOf pt)) (rawType s)
-    True -> ELit $ LitInt (2 ^ (8 * primTypeSizeOf pt - 1) - 1) (rawType s)
-prim_maxbound s e = e
-
-prim_bitsize s | Just pt <- genericPrimitiveInfo s = let
-    rp = ELit $ LitInt (fromIntegral (primTypeSizeOf pt) * 8) tIntzh
-    in (ELit (litCons { litName = dc_Int, litArgs = [rp], litType = tInt }))
-prim_bitsize s = (ELit (litCons { litName = dc_Int, litArgs = [rp'], litType = tInt })) where
-    rp = EPrim (APrim (PrimTypeInfo { primArgType = s, primRetType = "int", primTypeInfo = PrimSizeOf }) mempty) [] tIntzh
-    rp' = EPrim (APrim (Operator "*" ["int","int"] "int") mempty) [rp,(ELit (LitInt 8 tIntzh))] tIntzh
--}
hunk ./data/primitives.txt 5
-Jhc.Prim.Char, HsChar, char, UINT32_MAX, 0
-Jhc.Prim.Int, int, int, INT_MAX, INT_MIN
-Jhc.Basics.Integer, intmax_t, int, INTMAX_MAX, INTMAX_MIN
+Jhc.Prim.Char, ubits32, char, UINT32_MAX, 0
+Jhc.Prim.Int, sbits<int>, int, INT_MAX, INT_MIN
+Jhc.Basics.Integer, sbits<max>, int, INTMAX_MAX, INTMAX_MIN
hunk ./data/primitives.txt 9
-Data.Int.Int8, int8_t, int, INT8_MAX, INT8_MIN
-Data.Int.Int16, int16_t, int, INT16_MAX, INT16_MIN
-Data.Int.Int32, int32_t, int, INT32_MAX, INT32_MIN
-Data.Int.Int64, int64_t, int, INT64_MAX, INT64_MIN
-Data.Int.IntMax, intmax_t, int, INTMAX_MAX, INTMAX_MIN
-Data.Int.IntPtr, intptr_t, int, INTPTR_MAX, INTPTR_MIN
+Data.Int.Int8, sbits8, int, INT8_MAX, INT8_MIN
+Data.Int.Int16, sbits16, int, INT16_MAX, INT16_MIN
+Data.Int.Int32, sbits32, int, INT32_MAX, INT32_MIN
+Data.Int.Int64, sbits64, int, INT64_MAX, INT64_MIN
+Data.Int.IntMax, sbits<max>, int, INTMAX_MAX, INTMAX_MIN
+Data.Int.IntPtr, sbits<ptr>, int, INTPTR_MAX, INTPTR_MIN
hunk ./data/primitives.txt 16
-Data.Word.Word, unsigned int, int, UINT_MAX, 0
-Data.Word.Word8, uint8_t, int, UINT8_MAX, 0
-Data.Word.Word16, uint16_t, int, UINT16_MAX, 0
-Data.Word.Word32, uint32_t, int, UINT32_MAX, 0
-Data.Word.Word64, uint64_t, int, UINT64_MAX, 0
-Data.Word.WordMax, uintmax_t, int, UINTMAX_MAX, 0
-Data.Word.WordPtr, uintptr_t, int, UINTPTR_MAX, 0
+Data.Word.Word, ubits<int>, int, UINT_MAX, 0
+Data.Word.Word8, ubits8, int, UINT8_MAX, 0
+Data.Word.Word16, ubits16, int, UINT16_MAX, 0
+Data.Word.Word32, ubits32, int, UINT32_MAX, 0
+Data.Word.Word64, ubits64, int, UINT64_MAX, 0
+Data.Word.WordMax, ubits<max>, int, UINTMAX_MAX, 0
+Data.Word.WordPtr, ubits<ptr>, int, UINTPTR_MAX, 0
hunk ./data/primitives.txt 24
-Jhc.Float.Float, float, float, FLT_MAX, FLT_MIN
-Jhc.Float.Double, double, float, DBL_MAX, DBL_MIN
+Jhc.Float.Float, fbits<float>, float, FLT_MAX, FLT_MIN
+Jhc.Float.Double, fbits<double>, float, DBL_MAX, DBL_MIN
hunk ./data/primitives.txt 27
-Jhc.Addr.Addr, HsPtr, ptr,UINTPTR_MAX, 0
-Jhc.Addr.FunAddr, HsFunPtr, ptr,UINTPTR_MAX,0
+Jhc.Addr.Addr, ubits<ptr>, ptr,UINTPTR_MAX, 0
+Jhc.Addr.FunAddr, ubits<ptr>, ptr,UINTPTR_MAX,0
hunk ./data/primitives.txt 30
-Foreign.C.Types.CChar, char, int, CHAR_MAX, CHAR_MIN
-Foreign.C.Types.CShort, short, int, SHORT_MAX, SHORT_MIN
-Foreign.C.Types.CInt, int, int, INT_MAX, INT_MIN
-Foreign.C.Types.CUInt, unsigned int, int, UINT_MAX, 0
-Foreign.C.Types.CSize, size_t, int, UINTPTR_MAX, 0
-Foreign.C.Types.CWchar, wchar_t, int, 0x10FFFF, 0
-Foreign.C.Types.CWint, wint_t, int, 0x10FFFF, 0
+Foreign.C.Types.CChar, sbits8, int, CHAR_MAX, CHAR_MIN
+Foreign.C.Types.CShort, sbits<short>, int, SHORT_MAX, SHORT_MIN
+Foreign.C.Types.CInt, sbits<int>, int, INT_MAX, INT_MIN
+Foreign.C.Types.CUInt, ubits<int>, int, UINT_MAX, 0
+Foreign.C.Types.CSize, ubits<size_t>, int, UINTPTR_MAX, 0
+Foreign.C.Types.CWchar, ubits32, int, 0x10FFFF, 0
+Foreign.C.Types.CWint, sbits32, int, 0x10FFFF, 0
hunk ./data/primitives.txt 38
-Foreign.C.Types.CTime, time_t, float, 0xffffffffff, 0
+Foreign.C.Types.CTime, ubits<time_t>, float, 0xffffffffff, 0
hunk ./utils/op_names.prl 36
-    $rt{$ctype}++;
+    my $rt = $ctype;
+    $rt =~ s/^[su]//;
+    $rt{$rt}++;
hunk ./utils/op_names.prl 53
-    $rt =~ s/ /_/g;
+    $rt =~ s/[ <>]/_/g;
hunk ./utils/op_process.prl 71
-    return 'u' if /^uint/;
-    return '' if /^int/;
-    return 'f' if /^float/;
-    return 'f' if /^double/;
-    return 'u' if /unsigned/;
-    return 'u' if /HsChar/;
-    return 'u' if /HsPtr/;
-    return 'u' if /HsFunPtr/;
-    return '';
+    return 'u' if /^u/;
+    return ''  if /^s/;
+    return 'f' if /^f/;
+
+#    return 'u' if /^uint/;
+#    return '' if /^int/;
+#    return 'f' if /^float/;
+#    return 'f' if /^double/;
+#    return 'u' if /unsigned/;
+#    return 'u' if /HsChar/;
+#    return 'u' if /HsPtr/;
+#    return 'u' if /HsFunPtr/;
+#    return '';
hunk ./utils/op_process.prl 197
+    $d->[1] =~ s/^[us]//;