[add touch_ primitive
John Meacham <john@repetae.net>**20120130065819
 Ignore-this: 58fbc86a7c745a4472bafc239bff5281
] hunk ./src/C/FromGrin2.hs 573
+convertExp (BaseOp GcTouch _) = do
+    return (mempty, emptyExpression)
hunk ./src/E/PrimDecode.hs 60
+    , "touch_" ==> starHash +> state +> state
hunk ./src/Grin/FromE.hs 405
+        f "touch_" xs = do
+            return $ BaseOp GcTouch (args $ init xs)
hunk ./src/Grin/Grin.hs 106
+    | GcTouch               -- touch a value, forcing the GC to hold onto it.
hunk ./src/Grin/Grin.hs 451
+    getType (BaseOp GcTouch _) = []
hunk ./src/Grin/Show.hs 91
+prettyExp vl (BaseOp GcTouch xs) = vl <> keyword "gcTouch" <+> tupled (map prettyVal xs)