Hi, I am trying to get the function showMinProp to return String, but I always get an error of parse error (possibly incorrect indentation) Who can help with this? any idea? Thank u in advance!
data Prop = Var String | Negation Prop | BinOp Op Prop Prop data Op = And | Or | Implies | Equiv derived Eq showOp :: Op -> String showOp And = "&" showOp Or = "|" showOp Implies = "=>" showOp Equiv = "<=>" instance Show Op where show = showOp precList = [(And,4),(Or,3),(Implies,2),(Equiv,1)] showProp :: Prop -> String showProp (Var s) = s showProp (Negation p) = "~" ++ showProp p showProp (BinOp op p q) = paren (showProp a p ++ space (showOp op) ++ showProp a q) showMinProp :: Int -> Prop -> String showMinProp preNo (BinOp op p q) = case op of And -> let a = 4 Or -> let a = 3 Implies -> let a = 2 Equiv -> let a = 1 if (a > preNo) then (showMinProp a p ++ space (showOp op) ++ showMinProp a q) else paren (showMinProp a p ++ space (showOp op) ++ showMinProp a q)) space s = " " ++ s ++ " " paren s = "(" ++ s ++ ")" instance Show Prop where show = showProp
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe