74bbef0ef54ecdd731b6f8e0e1384ebeaae86e33
[coq-hetmet.git] / examples / Demo.hs
1 {-# OPTIONS_GHC -XRankNTypes -XScopedTypeVariables -XFlexibleContexts -XModalTypes -XKindSignatures -fcoqpass -XMultiParamTypeClasses -dcore-lint #-}
2 import GHC.HetMet.GArrow
3 import GHC.HetMet.CodeTypes
4 import GHC.HetMet.Private
5 import GArrowTikZ
6
7 foo x = <[ ~~x ]>
8 foo' = unG . pga_flatten . foo . pga_unflatten
9 --foo x z = <[ let y = ~~x in ~~z y y ]>
10 main = tikz (foo' (PGArrowD { unG = TikZ_const 12 }))