module SkelHao where

-- Haskell module generated by the BNF converter

import AbsHao
import 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


transInfix :: Infix -> Result
transInfix x = case x of
  Infix str  -> failure x


transModule :: Module -> Result
transModule x = case x of
  Module ids exports term  -> failure x


transExport :: Export -> Result
transExport x = case x of
  Export symbol  -> failure x


transQIdent :: QIdent -> Result
transQIdent x = case x of
  FQIdent ids id  -> failure x


transQInfix :: QInfix -> Result
transQInfix x = case x of
  FQInfix ids infix'  -> failure x


transSymbol :: Symbol -> Result
transSymbol x = case x of
  IdSym qident  -> failure x
  OpSym op  -> failure x


transOp :: Op -> Result
transOp x = case x of
  InfOp qinfix  -> failure x
  IdOp symbol  -> failure x


transTerm :: Term -> Result
transTerm x = case x of
  Seq term0 term  -> failure x
  Binding term0 term  -> failure x
  OpApp term0 op term  -> failure x
  App term0 term  -> failure x
  Var symbol  -> failure x
  Form cases  -> failure x
  Block term  -> failure x
  Tuple terms  -> failure x
  OpDecl op assoc fixitys  -> failure x


transCase :: Case -> Result
transCase x = case x of
  PatCase term guards  -> failure x


transGuard :: Guard -> Result
transGuard x = case x of
  NormGuard term0 term  -> failure x
  DefaultGuard term  -> failure x


transAssoc :: Assoc -> Result
transAssoc x = case x of
  LeftAssoc  -> failure x
  RightAssoc  -> failure x
  NoAssoc  -> failure x


transFixity :: Fixity -> Result
transFixity x = case x of
  GtFixity ops  -> failure x
  LtFixity ops  -> failure x




