RE: splicing varPs in quasi-quote brackets
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
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
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
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