[fix up atom checking code, add some debugging statements
John Meacham <john@repetae.net>**20050913003034] hunk ./Grin/PointsToAnalysis.hs 664
-                            a <- getArg n i
-                            a `isSuperSetOf` value v
+                            when (tagIsSuspFunction n) $ do
+                                a <- getArg (tagFlipFunction n) i
+                                a `isSuperSetOf` value v
hunk ./Grin/PointsToAnalysis.hs 712
-                    modifiedSuperSetOf self a $ \a' -> VsNodes (Map.singleton (n,i) a') mempty
+                    modifiedSuperSetOf self a $ \a' -> pruneNodes $ VsNodes (Map.singleton (n,i) a') (Set.singleton n)
hunk ./Grin/PointsToAnalysis.hs 737
-                    case fromAtom a of
-                        'P':'1':'_':rs -> do
-                            let fn = toAtom ('f':rs)
+                    case tagUnfunction a of
+                        Just (1,fn) -> do
hunk ./Grin/PointsToAnalysis.hs 745
-                    case fromAtom a of
-                        'P':'1':'_':rs -> do
-                            let fn = toAtom ('f':rs)
+                    case tagUnfunction a of
+                        Just (1,fn) -> do
hunk ./Grin/PointsToAnalysis.hs 758
+            CharIO.print ("getArg", a, i)
+            when (not $ tagIsFunction a) $ fail "getArg: tag not function"
hunk ./Grin/PointsToAnalysis.hs 769
+            CharIO.print ("Creating newval", p)