Closed
Description
It seems impossible (or extremely difficult) to offer Lift
instances for GHC versions before 8.0. Old versions of template-haskell
depended on containers
, making it impossible to depend on them. There are newer versions of template-haskell
that claim to build with the relevant GHC versions, but Cabal refuses, considering template-haskell
"non-upgradable". That leaves us a few options:
- Leave well enough alone, allowing the instances to stay in
th-lift-instances
. This is blecherous, of course. - Export the instances for GHC 8.0 and later, allowing
th-lift-instances
to cover earlier versions. Not exactly ideal. - Drop support for GHC < 8.0. This would remove all the immediate problems except for people who care about earlier versions. Since
DeriveLift
also appeared in 8.0, most instances could be derived (theSeq
instance wants a bit of special treatment).
Longer-term concerns about depending on template-haskell
:
template-haskell
won't be able to depend directly oncontainers
. I don't imagine this is a serious problem.template-haskell
can't depend indirectly oncontainers
either. This means thatpretty
can't depend oncontainers
. It's managed this long without doing so, so I guess that's probably fine, but if it finds itself needing anycontainers
-like structures, it'll have to reimplement them itself.