RE: splicing varPs in quasi-quote brackets

2014-03-17 Thread Simon Peyton Jones
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-
| boun...@haskell.org] On Behalf Of Geoffrey Mainland
| Sent: 15 March 2014 14:45
| To: glasgow-haskell-users@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.a...@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@haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: splicing varPs in quasi-quote brackets

2014-03-15 Thread Christian Höner zu Siederdissen
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.a...@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


pgp_m3hNMryQX.pgp
Description: PGP signature
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: splicing varPs in quasi-quote brackets

2014-03-15 Thread Geoffrey Mainland
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.a...@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@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: splicing varPs in quasi-quote brackets

2014-03-14 Thread adam vogt
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@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users