About the parse error (possibly incorrect indentation)

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

Am Freitag 18 September 2009 02:17:22 schrieb xu zhang:
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))
showMinProp preNo (BinOp op p q) = let a = case op of And -> 4 ... in if a > preNo then (...) else (...)

On Sep 17, 2009, at 20:17 , xu zhang wrote:
case op of And -> let a = 4 Or -> let a = 3 Implies -> let a = 2 Equiv -> let a = 1
"let" isn't an assignment command, it's a scoping command. That is,
let a = 3 in ...
is equivalent to something like { int a = 3; ... } // except the type can be inferred Note that the "in" is required unless part of a do-block, where block structure is implied. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
participants (3)
-
Brandon S. Allbery KF8NH
-
Daniel Fischer
-
xu zhang