module Core.Skel where -- Haskell module generated by the BNF converter import Core.Abs import Core.ErrM type Result = Err String failure :: Show a => a -> Result failure x = Bad $ "Undefined case: " ++ show x transIdent :: Ident -> Result transIdent x = case x of Ident str -> failure x transCaseTk :: CaseTk -> Result transCaseTk x = case x of CaseTk str -> failure x transDataTk :: DataTk -> Result transDataTk x = case x of DataTk str -> failure x transExp :: Exp -> Result transExp x = case x of ELam patt exp -> failure x ESet -> failure x EPi patt exp0 exp -> failure x ESig patt exp0 exp -> failure x EOne -> failure x Eunit -> failure x EPair exp0 exp -> failure x ECon id exp -> failure x EData datatk summands -> failure x ECase casetk branchs -> failure x EFst exp -> failure x ESnd exp -> failure x EApp exp0 exp -> failure x EVar id -> failure x EVoid -> failure x EDec decl exp -> failure x EPN -> failure x transDecl :: Decl -> Result transDecl x = case x of Def patt exp0 exp -> failure x Drec patt exp0 exp -> failure x transPatt :: Patt -> Result transPatt x = case x of PPair patt0 patt -> failure x Punit -> failure x PVar id -> failure x transSummand :: Summand -> Result transSummand x = case x of Summand id exp -> failure x transBranch :: Branch -> Result transBranch x = case x of Branch id exp -> failure x