Restricted Template Haskell

Simon Peyton Jones simonpj at
Mon Feb 2 17:33:33 UTC 2015

The new TH is already split into two parts<> as I’m sure you know

·         Typed TH is for expressions only, and doesn’t have reify, nor any Q monad.

·         Untyped TH is the wild west

Typed TH may get some of what you want?   Certainly you want to acknowledge the existing split in your own design.

The proposal could do with examples to illustrate what the difficulties are.  What bad things happen in the Q monad?  Can you give examples of reasoning that would be valid in level 1 but not in level 2.  etc.  More precision please!


From: Glasgow-haskell-users [mailto:glasgow-haskell-users-bounces at] On Behalf Of Greg Weber
Sent: 30 January 2015 23:39
To: ghc-devs at; GHC users
Cc: David Terei; Maxwell Swadling
Subject: Restricted Template Haskell

Hello GHC friends!

I am starting up a proposal for variants of Template Haskell that restrict what operations are available. The goal is to make TH easier for users to reason about and to allow for an easier compilation story.

Here is the proposal page:

Right now the proposal does not have any details and the goal is to write out a clear specification.
If this sounds interesting to you, let me know or leave some feedback on the wiki.

Greg Weber

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Glasgow-haskell-users mailing list