> Presumably the template-haskell-2.3 package does not build with ghc-6.8
> but fails to correctly specify the version of base or ghc that it
> requires. If it did then we would have a better chance to get this
> right.
>

Yes, this is certainly an issue in general with template-haskell-2.3. How do
we fix this?


> Another possible workaround...
>
> If you avoid using the flag hack then the solver would not have to
> choose so early which version of template-haskell to commit to and it
> would be able to pick the right version later. Though then you need an
> alternative method of finding which version of template-haskell you
> ended up with. You could do it with some custom code in Setup.hs.
>

I don't mind using a different approach. How do I detect which version of
template-haskell I'm using in Setup.lhs that is backwords compatible to
Cabal 1.2? I would like to support both template-haskell-2.2 and -2.3 by
deriving EMGM type representations for it, but the later has the 'Loc'
datatype. So, I'm currently using the CPP flag to determine whether 'Loc' is
available or not:

*#ifdef TH_LOC_DERIVEREP
**-- This type is only provided in template-haskell-2.3 (included with GHC 6.10)
**-- and up.
*$(derive ''Loc)
*#endif
*

Thanks,
Sean
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to