I don't think typeclasses or a type family will solve the problem directly.
Both the statement parsers are producing concrete types - type class polymorphism won't be able to create a union of the two concrete types - a concrete sum type (i.e. Either) will be able to make the union, but it would make the grammar messy. Making an extensible parser for a language as big as C will be tricky. Tim Sheard and Emir Pasalic have done it for a small language in this paper - they use a technique that doubles the number of constructors. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.8983 Best wishes Stephen _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
