splicing varPs in quasi-quote brackets

Simon Peyton Jones simonpj at microsoft.com
Mon Mar 17 16:31:16 UTC 2014


Geoffrey

This major new feature of Template Haskell is barely reflected in the user manual at all, except a cryptic reference to "a typed expression splice".

Might it be possible to add a summary; such as the very fact that there are now two pretty separate parts of TH: the untyped part and the typed part.  Plus some links to your blog posts, the TH blog post that described the change?  Are there any other relevant links?

Simon

| -----Original Message-----
| From: Glasgow-haskell-users [mailto:glasgow-haskell-users-
| bounces at haskell.org] On Behalf Of Geoffrey Mainland
| Sent: 15 March 2014 14:45
| To: glasgow-haskell-users at haskell.org
| Subject: Re: splicing varPs in quasi-quote brackets
| 
| Yes, pattern splices are indeed new in 7.8. See:
| 
| https://www.cs.drexel.edu/~mainland/2013/05/31/type-safe-runtime-code-
| generation-with-typed-template-haskell/
| 
| Cheers,
| Geoff
| 
| On 03/15/2014 10:08 AM, Christian Höner zu Siederdissen wrote:
| > Thanks Adam,
| >
| > It indeed does work with a lambda, should've thought about it. So, it
| > seems splices in patterns are new in 7.8 (hadn't seen it in the
| notes).
| >
| > Gruss,
| > Christian
| >
| > * adam vogt <vogt.adam at gmail.com> [15.03.2014 05:12]:
| >> Hello Christian,
| >>
| >> It seems new to me that $( ) is allowed in patterns. I would have
| >> used lamE in something like:
| >>
| >> [| $(varE v) >>= return . SM.concatMapM $(lamE [varP v] (buildRns f
| >> (xs++[w]) ys))) |]
| >>
| >> Regards,
| >> Adam
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


More information about the Glasgow-haskell-users mailing list