module AbsDep where -- Haskell module generated by the BNF converter newtype Ident = Ident String deriving (Eq,Ord,Show) data Module = Module [Import] [Decl] deriving (Eq,Ord,Show) data Import = Import Ident deriving (Eq,Ord,Show) data Decl = TypeDecl Ident EExp | PattDecl Ident [Pattern] EExp deriving (Eq,Ord,Show) data Pattern = PCons Ident [Pattern] | PVar Ident | PType | PWild deriving (Eq,Ord,Show) data EExp = ELet Ident EExp EExp EExp | EAbs Ident EExp | EPi Ident EExp EExp | EApp EExp EExp | EVar Ident | EType | EMeta deriving (Eq,Ord,Show)