On Thu, Nov 18, 2004 at 01:15:25AM +0000, Ian Lynagh wrote:
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.
Actually, I think this is number 2 on my list, below portability. As I said recently, I've hacked something I wrote to print out TH generated code for use on a platform without ghci+TH, which is a pain but not a showstopper for myself. However, I wanted to unroll the inner loop in SHA1 (essentially says "do this for n = 0..79") for darcs, and really don't want it to get into the situation of having to maintain generated code for platforms without ghci+TH. So for the time being I have to leave it either in a slower HO form or the fast but ugly hand-unrolled form. I appreciate that this is also a hard problem to solve; I just thought I'd let you know it is an issue. (In general portability to other implementations may be an issue too, of course, although darcs currently doesn't support them anyway) Thanks Ian