Hello Keith, Thursday, January 7, 2010, 11:26:51 PM, you wrote:
existential types has more limited usage compared to dynamics, but in the cases they work they allow to have compile-time type-checking instead of run-time one > Hello, My impression is that using existential types where possible > will result in more complete type checking than Data.Dynamic but I'm > not sure since I haven't yet tried Data.Dynamic in my own code. Can > someone confirm if this is right? > Best > Keith > On Thu, Jan 7, 2010 at 2:02 PM, Christian Maeder > <christian.mae...@dfki.de> wrote: >> You could cast your parser result "a" to Dynamic using >> Data.Dynamic.toDyn (and derive Typeable instances for all involved types). >> >> http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/Data-Dynamic.html >> >> Using an existential types may be another alternative. >> >> Cheers Christian >> >> rodrigo.bonifacio schrieb: >>> 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 >> -- Best regards, Bulat mailto:bulat.zigans...@gmail.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe