@@ -24,19 +24,18 @@ typeDecl =
24 do reserved "type" <?> "type declaration"
24 do reserved "type" <?> "type declaration"
26 isAlias <- optionMaybe (string "alias" >> forcedWS)
26 isAlias <- optionMaybe (string "alias" >> forcedWS)
29+ args <- spacePrefix lowVar
27 case isAlias of
32 case isAlias of
30− args <- spacePrefix lowVar
32− tipe <- Type.expr
34+ do tipe <- Type.expr <?> "type"
33 return (D.TypeAlias name args tipe)
35 return (D.TypeAlias name args tipe)
35 Nothing ->
37 Nothing ->
36− do name <- capVar <?> "name of data-type"
37− args <- spacePrefix lowVar
39− tcs <- pipeSep1 Type.constructor
38+ do tcs <- pipeSep1 Type.constructor <?> "constructor for a union type"
40 return $ D.Datatype name args tcs
39 return $ D.Datatype name args tcs