[Haskell-cafe] Re: Temlpate Haskell: [d| ... |]

Achim Schneider barsoap at web.de
Fri Oct 17 13:15:45 EDT 2008


"Philip Weaver" <philip.weaver at gmail.com> wrote:

> On Fri, Oct 17, 2008 at 9:26 AM, Achim Schneider <barsoap at web.de>
> wrote:
> 
> > > [d| ... |], where the "..." is a list of top-level declarations;
> > > the quotation has type Q [Dec].
> >
> > (
> > http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html
> > )
> >
> > Can someone elaborate on what a list means here? Neither
> >
> > declarations = [d|
> >    foo = "bar"
> >    bar = "foo"
> > |]
> >
> > nor
> >
> > declarations = [d|
> >    [ foo = "bar"
> >    , bar = "foo"
> >    ]
> > |]
> >
> > work. I'm trying to automatically generate a bunch of functions out
> > of an xml file.
> >
> 
> Works for me.  Note that -fth is needed.
> 
-fth doesn't make a difference here, I'm using -XTemplateHaskell with
ghc 6.8.3

Now if I wasn't sure that it somehow should work ([d| ... |]'s type is
Q [Dec], after all), I would write myself an concatM :: [m [a]] -> m [a]


-- 
(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.



More information about the Haskell-Cafe mailing list