Re: FW: TH restrictions

Ian Lynagh <[email protected]>
Newsgroups gmane.comp.lang.haskell.template
Message-ID <[email protected]>
On Fri, Aug 20, 2004 at 04:37:16PM +0100, Simon Peyton-Jones wrote:
> 
> Does anyone care? I'm busy implementing GADTs at the moment, so TH has a
> somewhat back seat.  It'll probably stay that way unless there are some
> signs of life in the TH ranks.

For what it's worth, I think one of the biggest irritations I've had
with writing stuff using TH is the need to split things across module
boundaries. This often leads to things that should logically be in the
same module being split (and I think I even have had a case or two when
I had to split something off out of the split-off module!), making the
code harder to read. I think TH needs to have as small a syntactic
impact as possible to take off.

I understand that there can be a compile-time performance penalty if
this restriction is lifted, due to the need to compile to bytecode for
TH and then object code for the .o file, but I think this would easily
be made up for in the increased clarity of code, especially if only
those bits that were needed were compiled to bytecode.

Also, I think this has got worse at some point. Going back over some of
my old code it looks like this sort of thing:

    foo = and
    bar = [| foo |]

in one module used to be OK whereas now it gives

    No instance for (Language.Haskell.TH.Syntax.Lift ([Bool] -> Bool))


Thanks
Ian
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.