Hi all, I have a family of parsers that return either (Success t) or (Fail), using the following data type:
> data ParserResult a = Success a | Fail String > deriving (Read, Show, Eq, Ord) > > isSuccess (Success _) = True > isSuccess (Fail _) = False > ... I want to add the results of different parsers to a list. Such as: > m1 = parseFirstModel file1 -- it returns a ParserResult of t1 > m2 = parseSecondModel file2 -- it returns a ParserResult of t2 > ps = [m1, m2] In such a way that I could write something like: > if and (map isSuccess ps) > then process m1 m2 > else ... Actually, in the real program I have to check more than two input models. However, since Lists do only hold elements of a same type, I couldn't proceed in this way. Which improvements to the ParserResult data type should I wrote in order to proceed as I want to. Best regards, Rodrigo. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe