[add Support directory, move some stuff into it, add Support.Tuple as a generic class for tuple creation
John Meacham <john@repetae.net>**20060128023217] adddir ./Support
move ./CanType.hs ./Support/CanType.hs
move ./Unparse.hs ./Support/Unparse.hs
addfile ./Support/Tuple.hs
hunk ./C/FromGrin.hs 15
-import CanType
+import Support.CanType
hunk ./DataConstructors.hs 30
-import Type(schemeToType)
hunk ./DataConstructors.hs 35
+import Name.VConsts
hunk ./DataConstructors.hs 39
+import Type(schemeToType)
hunk ./DataConstructors.hs 42
+import Support.Unparse
hunk ./DataConstructors.hs 44
-import Name.VConsts
-import Unparse
hunk ./E/Arbitrary.hs 17
-import CanType
+import Support.CanType
hunk ./E/FromHs.hs 15
-import CanType
+import Support.CanType
hunk ./E/Pretty.hs 19
-import Unparse
+import Support.Unparse
hunk ./E/PrimOpt.hs 8
-import CanType
+import Support.CanType
hunk ./E/SSimplify.hs 14
-import CanType
+import Support.CanType
hunk ./E/TypeAnalysis.hs 14
-import CanType
+import Support.CanType
hunk ./E/TypeCheck.hs 3
-import CanType
+import Support.CanType
hunk ./E/Values.hs 11
-import CanType
+import Support.CanType
hunk ./E/WorkerWrapper.hs 8
-import CanType
+import Support.CanType
hunk ./FrontEnd/Tc/Type.hs 28
-import Unparse
+import Support.Unparse
hunk ./Grin/DeadCode.hs 14
-import CanType
+import Support.CanType
hunk ./Grin/DeadFunctions.hs 12
-import CanType
+import Support.CanType
hunk ./Grin/Embed.hs 5
-import CanType
+import Support.CanType
hunk ./Grin/FromE.hs 13
-import CanType
+import Support.CanType
hunk ./Grin/Grin.hs 63
-import CanType
+import Support.CanType
hunk ./Grin/Interpret.hs 4
-import CanType
+import Support.CanType
hunk ./Grin/PointsToAnalysis.hs 15
-import CanType
+import Support.CanType
hunk ./Grin/Simplify.hs 14
-import CanType
+import Support.CanType
hunk ./Grin/Unboxing.hs 6
-import CanType
+import Support.CanType
hunk ./Grin/Whiz.hs 11
-import CanType
+import Support.CanType
hunk ./Ho.hs 22
-import CanType
+import Support.CanType
hunk ./Main.hs 14
-import CanType(getType)
+import Support.CanType(getType)
hunk ./Support/CanType.hs 1
-module CanType where
+module Support.CanType where
hunk ./Support/Tuple.hs 1
+module Support.Tuple where
+
+class Tuple a where
+    tupleNil :: a
+    tupleOne :: a -> a
+    tupleMany :: [a] -> a
+
+    tupleNil = tupleMany []
+    tupleOne x = x
+
+class FromTuple a where
+    fromTuple :: a -> [a]
+
+
+tuple :: Tuple a => [a] -> a
+tuple [] = tupleNil
+tuple [x] = tupleOne x
+tuple xs = tupleMany xs
+
+
+instance Tuple String where
+    tupleMany xs = "(" ++ concat (intersperse "," xs) ++ ")"
+
hunk ./Support/Unparse.hs 1
-module Unparse(Unparse(), Unparsable(..), unparse, unparse', Side(..), atom, atomize, bop, pop, fixitize) where
+module Support.Unparse(Unparse(), Unparsable(..), unparse, unparse', Side(..), atom, atomize, bop, pop, fixitize) where
hunk ./data/PrimitiveOperators-in.hs 8
-import CanType
+import Support.CanType