uvm-plaid / uvmhs

2 stars 5 forks source link

Suggestion: lower bound on `base` #5

Open Ptival opened 2 years ago

Ptival commented 2 years ago

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 to base would make this fail earlier.

davdar commented 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.

davdar commented 2 years ago

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.