-{-# OPTIONS_GHC -XModalTypes -XMultiParamTypeClasses -XNoMonoPatBinds -XKindSignatures -XGADTs -XFlexibleContexts -XFlexibleInstances -XTypeOperators -XUndecidableInstances #-}
-module GArrowTikZ (tikz, GArrowTikZ(..))
+{-# OPTIONS_GHC -XModalTypes -XMultiParamTypeClasses -XNoMonoPatBinds -XKindSignatures -XGADTs -XFlexibleContexts -XFlexibleInstances -XTypeOperators -XUndecidableInstances -XTypeFamilies #-}
+module GArrowTikZ (tikz, tikz', GArrowTikZ(..))
where
import Prelude hiding ( id, (.), lookup )
import Control.Category
import Data.List hiding (lookup, insert)
import Data.Map hiding (map, (!))
import Unify
-
+import GHC.HetMet.Private
{-
TO DO:
ga_loopl = TikZ_loopl
ga_loopr = TikZ_loopr
-instance GArrowSTKC GArrowTikZ (,) ()
+type instance GArrowTensor GArrowTikZ = (,)
+type instance GArrowUnit GArrowTikZ = ()
+type instance GArrowExponent GArrowTikZ = (->)
+
+instance GArrowSTKC GArrowTikZ
name :: GArrowTikZ a b -> String
s = sortit (strip k)
m = valuatit empty s
+tikz' :: (forall g a . PGArrow g (GArrowUnit g) a -> PGArrow g (GArrowUnit g) a) -> IO ()
+tikz' x = tikz $ unG (x (PGArrowD { unG = TikZ_const 12 }))
+main = do putStrLn "hello"
tikz example
= do putStrLn "\\documentclass{article}"
putStrLn "\\usepackage[landscape,paperheight=20in,textwidth=19in]{geometry}"