Open Ptival opened 2 years ago
Yes, this would be a good idea to do.
In general, I don't like the world of tight constraint bounds for every package dependency, because they are always lies and need to be frequently updated to be less fictional
I always thought of UVMHS as pinned to either a GHC version (e.g., 9.2), a set of versions (e.g., >= 9), or a stackage snapshot. And it feels like even though template haskell's API frequently changes, it's pretty stable when pinned to a GHC version.
So what I should probably do is automatically test UVMHS with a bunch of GHC versions (e.g., by building against a stackage snapshot for each version) in a script and then just report the GHC versions it works for. Then from that list, we could back-infer which versions of base as a constraint. Then I would feel this constraint is not fiction, and happy to include it in the configuration files.
Oh, and I'm also fine with just adding the >= 4.15
lower bound :)
Was just thinking out loud about the "complete" solution to this issue.
AFAICT, now that UVMHS uses Template Haskell's
examineCode
, it is no longer compatible with GHC < 9.Attempting to compile with, say, 8.10.7 proceeds for a while before hitting such a symbol and complains that it does not exist.
I think adding a
>= 4.15
lower bound tobase
would make this fail earlier.