[clean up Grin.FromE some, make 'poke' primitive have the right number of args
John Meacham <john@repetae.net>**20070305220316] hunk ./Grin/FromE.hs 122
-    | 'P':cs <- fromAtom t = let
-        (n','_':rs) = span isDigit cs
-        n = (read n' :: Int)
-        in [ toAtom $ 'P':show x ++ "_" ++ rs | x <- [1 .. n]]
+    | Just (n,frs) <- tagUnfunction t = [ partialTag frs x | x <- [1 .. n]]
hunk ./Grin/FromE.hs 174
-        lenv = LEnv {
-            evaledMap = mempty
-        }
+        lenv = LEnv { evaledMap = mempty }
hunk ./Grin/FromE.hs 466
-            let p = prim { primType = ([Ty $ toAtom (show rt_HsPtr)],tyUnit) }
+            let p = prim { primType = ([Ty $ toAtom (show rt_HsPtr),pt],tyUnit) }
hunk ./Grin/FromE.hs 544
-        let ('P':rs') = fromAtom t
-            (n','_':rs) = span isDigit rs'
-            n = (read n' :: Int)
+        let Just (n,frs) = tagUnfunction t
hunk ./Grin/FromE.hs 547
-                app' (Const (NodeC (partialTag (toAtom $ 'f':rs) (n - 1)) (cs ++ [a]))) as
+                app' (Const (NodeC (partialTag frs (n - 1)) (cs ++ [a]))) as
hunk ./Grin/FromE.hs 556
-                return $ Store  (NodeC (partialTag (toAtom $ 'f':rs) (n - 1)) (cs ++ [a])) :>>= tpv :-> x
+                return $ Store  (NodeC (partialTag frs (n - 1)) (cs ++ [a])) :>>= tpv :-> x