update to Template Haskell for rich kinds

Hi all, I'm working on bringing Template Haskell up to speed with the new extensions for polymorphic kinds and promoted data kinds. This requires a few small, non-breaking changes to TH datatypes. I've made a (short) wiki page at http://hackage.haskell.org/trac/ghc/wiki/TemplateHaskellRichKinds and the official Trac feature request is hackage.haskell.org/trac/ghc/ticket/5612 Does anyone have any suggestions to what I've written? Any other comments? Thanks! Richard

Hi Richard,
Thanks for taking this up! One question: won't we need syntax for arbitrary
promoted constructors (other than lists and tuples) in TH's Type datatype?
Also, is the Constraint kind already in TH? If not, this might be a good
time to add it too.
Cheers,
Pedro
On Mon, Mar 19, 2012 at 03:09, Richard Eisenberg
Hi all,
I'm working on bringing Template Haskell up to speed with the new extensions for polymorphic kinds and promoted data kinds. This requires a few small, non-breaking changes to TH datatypes. I've made a (short) wiki page at http://hackage.haskell.org/**trac/ghc/wiki/** TemplateHaskellRichKindshttp://hackage.haskell.org/trac/ghc/wiki/TemplateHaskellRichKindsand the official Trac feature request is hackage.haskell.org/trac/ghc/**ticket/5612http://hackage.haskell.org/trac/ghc/ticket/5612
Does anyone have any suggestions to what I've written? Any other comments?
Thanks! Richard
______________________________**_________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.**org
http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-usershttp://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Yes, we will, but this is already support through the use of ConT. The namespaces of defined types and of promoted types are also already kept distinct. The one update we would want here is an extension to the name quoting syntax. I've updated the Wiki page with my thoughts and plans here: http://hackage.haskell.org/trac/ghc/wiki/TemplateHaskellRichKinds In my continued experiments with this, I've realized that we will need even more constructors to make all the different kinds expressible. The Wiki page is updated for this also, and I've listed two alternative implementations. Comments very much appreciated! Thanks, Richard PS: I added ConstraintK as well. On 03/20/2012 03:43 AM, José Pedro Magalhães wrote:
Hi Richard,
Thanks for taking this up! One question: won't we need syntax for arbitrary promoted constructors (other than lists and tuples) in TH's Type datatype?
Also, is the Constraint kind already in TH? If not, this might be a good time to add it too.
Cheers, Pedro
On Mon, Mar 19, 2012 at 03:09, Richard Eisenberg
mailto:eir@seas.upenn.edu> wrote: Hi all,
I'm working on bringing Template Haskell up to speed with the new extensions for polymorphic kinds and promoted data kinds. This requires a few small, non-breaking changes to TH datatypes. I've made a (short) wiki page at http://hackage.haskell.org/__trac/ghc/wiki/__TemplateHaskellRichKinds http://hackage.haskell.org/trac/ghc/wiki/TemplateHaskellRichKinds and the official Trac feature request is hackage.haskell.org/trac/ghc/__ticket/5612 http://hackage.haskell.org/trac/ghc/ticket/5612
Does anyone have any suggestions to what I've written? Any other comments?
Thanks! Richard
_________________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.__org mailto:Glasgow-haskell-users@haskell.org http://www.haskell.org/__mailman/listinfo/glasgow-__haskell-users http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi Richard,
I've had a look at the updated proposal page; it looks fine to me. I don't
really have a preference between the "standard" and "alternative"
implementations right now.
You do mention parse errors with kinds and promoted constructors (which is
related to http://hackage.haskell.org/trac/ghc/ticket/5682) but I think we
want those things to be synonyms; the current behavior is just a bug.
Cheers,
Pedro
2012/3/20 Richard Eisenberg
Yes, we will, but this is already support through the use of ConT. The namespaces of defined types and of promoted types are also already kept distinct. The one update we would want here is an extension to the name quoting syntax. I've updated the Wiki page with my thoughts and plans here: http://hackage.haskell.org/trac/ghc/wiki/TemplateHaskellRichKinds
In my continued experiments with this, I've realized that we will need even more constructors to make all the different kinds expressible. The Wiki page is updated for this also, and I've listed two alternative implementations. Comments very much appreciated!
Thanks, Richard
PS: I added ConstraintK as well.
On 03/20/2012 03:43 AM, José Pedro Magalhães wrote:
Hi Richard,
Thanks for taking this up! One question: won't we need syntax for arbitrary promoted constructors (other than lists and tuples) in TH's Type datatype?
Also, is the Constraint kind already in TH? If not, this might be a good time to add it too.
Cheers, Pedro
On Mon, Mar 19, 2012 at 03:09, Richard Eisenberg
mailto:eir@seas.upenn.edu> wrote: Hi all,
I'm working on bringing Template Haskell up to speed with the new extensions for polymorphic kinds and promoted data kinds. This requires a few small, non-breaking changes to TH datatypes. I've made a (short) wiki page at
http://hackage.haskell.org/__trac/ghc/wiki/__TemplateHaskellRichKinds < http://hackage.haskell.org/trac/ghc/wiki/TemplateHaskellRichKinds>
and the official Trac feature request is hackage.haskell.org/trac/ghc/__ticket/5612 http://hackage.haskell.org/trac/ghc/ticket/5612
Does anyone have any suggestions to what I've written? Any other comments?
Thanks! Richard
_________________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.__org mailto:Glasgow-haskell-users@haskell.org http://www.haskell.org/__mailman/listinfo/glasgow-__haskell-users http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (2)
-
José Pedro Magalhães
-
Richard Eisenberg