module Core.Abs where -- Haskell module generated by the BNF converter newtype Ident = Ident String deriving (Eq,Ord,Show) newtype CaseTk = CaseTk ((Int,Int),String) deriving (Eq,Ord,Show) newtype DataTk = DataTk ((Int,Int),String) deriving (Eq,Ord,Show) data Exp = ELam Patt Exp | ESet | EPi Patt Exp Exp | ESig Patt Exp Exp | EOne | Eunit | EPair Exp Exp | ECon Ident Exp | EData DataTk [Summand] | ECase CaseTk [Branch] | EFst Exp | ESnd Exp | EApp Exp Exp | EVar Ident | EVoid | EDec Decl Exp | EPN deriving (Eq,Ord,Show) data Decl = Def Patt Exp Exp | Drec Patt Exp Exp deriving (Eq,Ord,Show) data Patt = PPair Patt Patt | Punit | PVar Ident deriving (Eq,Ord,Show) data Summand = Summand Ident Exp deriving (Eq,Ord,Show) data Branch = Branch Ident Exp deriving (Eq,Ord,Show)