[Haskell-cafe] Variants of a recursive data structure
bulat.ziganshin at gmail.com
Thu Aug 3 09:40:11 EDT 2006
Thursday, August 3, 2006, 2:51:01 PM, you wrote:
> data SimpleExp = Num Int | Add SimpleExp SimpleExp
> data LabelledExp = LNum Int String | LAdd LabelledExp LabelledExp String
> The icing on the cake would be if it would also be possible to have a
> unlabel :: LabeledExp -> Exp
> that does *not* need to know about the full structure of expressions.
> So, what options do I have to address this problem in Haskell?
Template Haskell (compile-time code generator) can be used to
automatically generate unlabel and SimpleExp from the LabelledExp
definition. you can also see to other generic programming solutions
which was overviewed in
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe