Skip to content

bump base16-bytestring bound + add github actions #13

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

Closed
wants to merge 1 commit into from

Conversation

emilypi
Copy link

@emilypi emilypi commented Jun 30, 2021

This PR does the following:

  • Removes Travis.yml and migrates to Github actions
  • Bumps tested GHCs:
    • 8.8.3 -> 8.8.4
    • 8.10.1 -> 8.10.5
    • Adds 9.0.1
  • Brings master up to par with revisions (including Allow base16-bytestring-1.0 #10 when it goes in)

@emilypi emilypi force-pushed the bump-tested-ghcs branch from b58c661 to f191075 Compare June 30, 2021 23:05
@Bodigrim
Copy link

Bodigrim commented Jul 1, 2021

FWIW as a Hackage Trustee I made a revision to allow base-4.15, because we need to unblock Cabal as soon as possible.

@andreasabel
Copy link
Member

@emilypi : Sorry this PR went unnoticed. It is mostly subsumed by

except that you also switched to a manual IsString instance. Should this change be salvaged?

(Note: I had to patch the auto-generated haskell-ci.yml to get CI to run: https://github.com/haskell-hvr/resolv/blob/3b7737a5684125f429db7443e9750760492b399c/haskell-ci.patch)

@emilypi
Copy link
Author

emilypi commented Aug 13, 2022

The Bytestring nowadays defers to packChars, so the newtype derivation should be the same as the one using Char8 (which is also just packChars). However, for past iterations of Bytestring, this was not true, and the derivation was not sound (Char8 was a superior choice). I think you have two options here:

  1. Salvage the instance and make it explicit so you can CPP around it.
  2. Bump the lower bound for Bytestring to the point where it had an IsString instance and make sure it's the right one.

Personally, I'm in favor of 2), and I would be very grateful if you, as a maintainer, discontinued HVR's GHC/dependency lower bound dick measuring contest policy and modernized the library so that it was usable (and maintainable) by others.

@andreasabel
Copy link
Member

@emilypi : Thanks for the clarification!

According to blame, the current instance for IsString ByteString (implemented as packChars) has been placed by haskell/bytestring@01374ce#diff-4105c07a81270ce44ac897cada298da7e98475c346100e92b1e1951b0484c4bcR188 and released with 0.10.0.0: https://hackage.haskell.org/package/bytestring-0.10.0.0/docs/src/Data-ByteString-Internal.html#ByteString.
Bumping bytestring to >=0.10.0.0 would mean GHC >= 7.6 which is just dropping GHC 7.4, a no-brainer. CI anyway only tests GHC >= 8 now since I am relying on ghcup.
I'll open a PR for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants