[allow case scrutinization of primitives when converting grin to c
John Meacham <john@repetae.net>**20100705074505
 Ignore-this: 9a1cd29b7cddabf3b6c2befa37d2b951
] hunk ./src/C/FromGrin2.hs 1
-{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE RecordWildCards,ViewPatterns  #-}
hunk ./src/C/FromGrin2.hs 353
-convertBody (Case v@(Var _ ty) [[p1@(NodeC t fps)] :-> e1,[p2] :-> e2]) | ty == TyNode = do
+convertBody (Case v@(getType -> TyNode) [[p1@(NodeC t fps)] :-> e1,[p2] :-> e2]) = do
hunk ./src/C/FromGrin2.hs 377
-convertBody (Case v@Var {} [v1, v2@([Lit n _] :-> _)]) | n == 0 = convertBody (Case v [v2,v1])
-convertBody (Case v@(Var _ t) [[p1] :-> e1, [p2] :-> e2]) | Set.null ((freeVars p2 :: Set.Set Var) `Set.intersection` freeVars e2) = do
+convertBody (Case v [v1, v2@([Lit n _] :-> _)]) | n == 0 = convertBody (Case v [v2,v1])
+convertBody (Case v@(getType -> t) [[p1] :-> e1, [p2] :-> e2]) | Set.null ((freeVars p2 :: Set.Set Var) `Set.intersection` freeVars e2) = do
hunk ./src/C/FromGrin2.hs 386
-convertBody (Case v@(Var _ t) ls) | t == TyNode = do
+convertBody (Case v@(getType -> TyNode) ls) = do
hunk ./src/C/FromGrin2.hs 412
-convertBody (Case v@(Var _ t) ls) = do
+convertBody (Case v ls) = do