[Template-haskell] template haskell (reify bug and existentials)

Keean Schupke k.schupke at imperial.ac.uk
Sat Oct 30 10:01:02 EDT 2004


Re: my two earlier postings:

1) existentials in data declarations. I have a project which needs this,
    Simon PJ thought it was fairly easy to put in and suggested that Ian
    Lynagh might implement it. Do I need to persuade people further?
    Will it get done now? Some feedback as to whether it might get
    done would be nice... Just to clarify I want to do:

       $(something [d| data A = forall a . A a |]

2) reification of functions (and other primitives)... want to do something
    like:

       reify ''(->)

    Fails because reify/Info does not support reifying primitives. There is
    already support in the Type type for primitive types (-> (,,) [])  
so the
    obvious way to add this is to alter Info to:

       data Info = ClassI Dec
          | ClassOpI Name Type Name Fixity
          | TyConI Dec
          | PrimTyConI Type
          | DataConI ...

So what are the chances of getting these changes implemented. I need them
for a current project, and would appreciate it if someone who knows the 
inner
workings of template-haskell could implement the changes in the CVS HEAD
branch of GHC. Failing that I am prepared to have a go myself, but I want to
make sure that nobody else is likely to do it first.


More information about the template-haskell mailing list