[Template-haskell] Re: Generating arithmetic expressions in TH

Ahn, Ki Yung kyagrd at gmail.com
Wed Oct 21 20:15:34 EDT 2009


Vitor Rodrigues wrote:
> Hello,
> 
> I am starting using TH to generate lambda expressions representing
> arithmetic expressions.
> My current problem is to generate code where all the lambda
> abstractions are in the top level.
> For example,
> 
> I would like to have
> 
> \x -> 1 + x
> 
> instead of
> 
> 1 + (\x -> x)

This is a type error (unless you have declared some special instance of 
Num to make that work), so you can't generate this with TH.  It will 
fail to type check when splicing or when type checking quasiquotes.

> My problem is that I  don't know in beforehand if the second operand
> is a variable or not.
> If so, I would like to build a top level abstraction.
> 
> It is this possible?
> 
> Regards,
> Vitor



More information about the template-haskell mailing list