> 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?