-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dep: port to haskeline 0.8 #564
Conversation
Breaking change regarding `MonadException` which is now replaced by `MonadMask` from `exceptions` package.
Thanks for working on this! This should supersede my own WIP PR #540. FWIW, in |
Oh, it's actually quite similar, missed that in a GHC 8.10 hurry! I don't know the policy we have here regarding GHC support but I guess supporting current |
Regarding GHC support, I think this is a fairly good rule of thumb:
So, with GHC 8.10 being the most recent version, we should try to support at least 8.6, 8.8 and 8.10. |
What's the status here, @sorki? Do you think we can get this into the upcoming release (#560)? Since the If you need any help, please shout! :) |
So the issue is the newer haskeline doesn't support the older GHC? |
It does support older GHCs, but it's a boot library, and Gabriel convinced me that upgrading boot libraries is tricky with Nix: dhall-lang/dhall-haskell#1717 (comment) That's about all I know! ;) |
On second thought, since |
Yes, I've arrived at similar conclusion and even if we want to support older haskelline we can move the relevant instances to |
So this is actually proving difficult - if I just move the instance from We could split |
Are you referring to
? Why is it necessary to move it? |
No, I've tried to make it compatible with
Edit: explodes with https://gist.github.com/sorki/836997883d96247ee4298b6a83100980 Also I think this would still require bunch of |
OK. I actually don't see an important reason to keep supporting If we need to turn off building the executable with GHC < 8.10, we can add something like this: --- a/hnix.cabal
+++ b/hnix.cabal
@@ -963,6 +963,8 @@ executable hnix
, unordered-containers
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
+ if impl(ghc < 8.10)
+ buildable: False
if impl(ghcjs)
buildable: False
default-language: Haskell2010 We should also be able remove the library dependency on If you would like me to take this over @sorki, please shout! :) |
I would ask explicitly. |
Nixpkgs have no report/PR on that: https://github.com/NixOS/nixpkgs/search?q=haskeline&type=Issues It is an interesting question why there were no NixPkgs reports to preserve old |
Since GHCJS builds in Nixpkgs - that means that implicitly provided That means there can be an easy override for its version:
In fact - this is how it is done in GHCJS. |
In fact, haskeline 0.7.5 seems to be in:
Now we see that in fact - Nixpkgs |
And that most GHCs use bundled-in versions of libraries for self compilation:
|
I don't think it's worth it keeping the support for old After the discussion here I've approved #540 which basically disables executable for
|
I agree with you. As I shown, currently all So we would have something like |
Hmm, looks like for me with
but it might be useful for older ones to use |
Breaking change regarding
MonadException
which is now replacedby
MonadMask
fromexceptions
package.Allows building with GHC 8.10. This forces
haskeline 0.8
so marking as draft for now.