[treat drop__ed atomic values as atomic, handle unboxed literals in CAF conversion, add more grin dumping options
John Meacham <john@repetae.net>**20060406020003] hunk ./E/Values.hs 219
+isAtomic (EPrim (APrim (PrimPrim "drop__") _) [x,y] _) = isAtomic y
hunk ./FlagDump.flags 51
+grin-initial grin right after conversion from core
+grin-normalized grin right after first normalization
hunk ./Grin/FromE.hs 241
-    conv (ELit (LitInt i (ELit (LitCons n [] (ESort EHash))))) | RawType <- nameType n =  Lit i (Ty $ toAtom (show n))
-    --conv (ELit (LitInt i (ELit (LitCons n [] (ESort EStar))))) | Just pt <- Map.lookup n ctypeMap = ( Const (NodeC (toAtom $ 'C':show n) [(Lit i (Ty (toAtom pt)))]))
+    conv e | Just v <- literal e = v
hunk ./Grin/FromE.hs 404
-    fromRawType (ELit (LitCons tname [] _))
-        | RawType <- nameType tname = return (Ty $ toAtom (show tname))
-    fromRawType _ = fail "not a raw type"
hunk ./Grin/FromE.hs 500
-    cc e = error $ "cc: " ++ show e
+    cc (EVar v) = do
+        return $ Return (toVal v)
+    cc e = return $ error ("cc: " ++ show e)
hunk ./Grin/FromE.hs 538
-    -- | converts an unboxed literal
-    literal :: Monad m =>  E -> m Val
-    literal (ELit (LitInt i (ELit (LitCons n [] (ESort EHash))))) | RawType <- nameType n = return $ Lit i (Ty $ toAtom (show n))
-    literal (EPrim aprim@(APrim p _) xs ty) | Just ptype <- fromRawType ty, primIsConstant p = do
-        xs <- mapM literal xs
-        return $ ValPrim aprim xs ptype
-    literal _ = fail "not a literal term"
hunk ./Grin/FromE.hs 588
+fromRawType (ELit (LitCons tname [] _))
+    | RawType <- nameType tname = return (Ty $ toAtom (show tname))
+fromRawType _ = fail "not a raw type"
+
+-- | converts an unboxed literal
+literal :: Monad m =>  E -> m Val
+literal (ELit (LitInt i ty)) | Just ptype <- fromRawType ty = return $ Lit i ptype
+literal (EPrim aprim@(APrim p _) xs ty) | Just ptype <- fromRawType ty, primIsConstant p = do
+    xs <- mapM literal xs
+    return $ ValPrim aprim xs ptype
+literal _ = fail "not a literal term"
+
hunk ./Main.hs 626
+    wdump FD.GrinInitial $ printGrin x
hunk ./Main.hs 628
-    wdump FD.Grin $ printGrin x
+    wdump FD.GrinNormalized $ printGrin x