[Haskell-cafe] How to use Template Haskell based on code that generated by another Template?

Magicloud Magiclouds magicloud.magiclouds at gmail.com
Thu Jul 4 03:45:02 CEST 2013


Yes, I misunderstood the generated code and splice shown in error message.
Thanks.


On Wed, Jul 3, 2013 at 11:04 PM, adam vogt <vogt.adam at gmail.com> wrote:

> On Wed, Jul 3, 2013 at 2:25 AM, Magicloud Magiclouds
> <magicloud.magiclouds at gmail.com> wrote:
> > Then I got
> > Illegal variable name: `UserPassword'
> >     When splicing a TH declaration:
>
> Hi Magicloud,
>
> GHC seems to be trying to tell you that variables are lowercase in
> haskell. Since you don't have code, I'm guessing your error is from
> doing something like:
>
> > wrong1 = print ($(dyn "Just") 5)
> > wrong2 = print ($(varE 'Just) 5)
>
> Which is a compile time error since you apparently can't pass a Name
> which is capitalized to `VarE :: Name -> Exp'
>
> Any of these options work. They use the  `ConE :: Name -> Exp'
> constructor instead:
>
> > opt1 = print ($(conE (mkName "Just")) 5)
> > opt2 = print ($(conE 'Just) 5)
> > opt3 = print ($( [| Just |]) 5 )
>
> --
> Adam
>



-- 
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130704/568b1dd8/attachment.htm>


More information about the Haskell-Cafe mailing list