Skip to content

Conversation

@Bodigrim
Copy link
Contributor

@Bodigrim Bodigrim commented Oct 7, 2022

Follow up on #354.

I copied Data.Array.Byte from base-4.17 into a standalone compatibility package data-array-byte so that bytestring and text can switch to ByteArray, but maintain providing a stable interface across GHC versions.

Now primitive can also use the same compatibility package, reducing amount of CPP and code to maintain and just importing Data.Array.Byte unconditionally.

Cf. haskell/text#474 and haskell/bytestring#410

@andrewthad
Copy link
Collaborator

I like this idea. I am reluctant to add a dependency that could create a bottleneck for fixing issues. Would you be able to either:

  1. Transfer the repo to the haskell organization, or
  2. Assign me and several other people that you trust as maintainers with write permissions the github repo, and add the same people as comaintainers on hackage. Add at least one other person as an admin on the github project.

Either of these would make me feel a better about how quickly a patch release could get pushed out if something critically wrong was discovered that impacted primitive.

@Bodigrim
Copy link
Contributor Author

Bodigrim commented Oct 8, 2022

@andrewthad @sjakobi @clyring @chessai @Lysxia I've added you all to https://github.com/Bodigrim/data-array-byte. Pending your acceptance of invitation, I'll provide Hackage rights as well. Do not worry, you are not expected to do anything, this is just to increase bus factor.

@andrewthad
Copy link
Collaborator

I've accepted the invite to the GH repo.

@Bodigrim
Copy link
Contributor Author

Bodigrim commented Oct 8, 2022

@phadej
Copy link

phadej commented Oct 8, 2022

FWIW, I see this is the way to go forward. If current master version is released as primitive-0.8.0.0, then primitive will become de-facto compatibility package for ByteArray, as it currently uses base's ByteArray when available but defines own otherwise.

But that would be supar (although bytestring and text could depend on primitive for older GHC/base, I guess). Anyway better to have as minimal compatibility packages as possible.

@andrewthad
Copy link
Collaborator

I’m going to let this sit til Monday just to see if anyone has any additional review or concerns, and then I’ll merge it in.

@lehins
Copy link
Contributor

lehins commented Oct 8, 2022

This is a decent plan. However, data-array-byte is such a terrible name. It is probably too late and is not worth the trouble coming up with a better name. Also too bad that @hvr was so trigger happy with grabbing package names that would be useful for this purpose:

@Bodigrim
Copy link
Contributor Author

Bodigrim commented Oct 8, 2022

I wonder how many other names @hvr had reserved :) But besides that I'm not keen to steal a "nice" name for a compatibility package, which would hopefully be forgotten within couple of years.

@sjakobi
Copy link
Member

sjakobi commented Oct 10, 2022

Also too bad that @hvr was so trigger happy with grabbing package names that would be useful for this purpose

While I'm not a fan of HVR's name squatting, I'd like to point out that HVR has transferred ownership of some names upon request. dhall-yaml is an example.

@Bodigrim
Copy link
Contributor Author

@andrewthad let's go?

@Bodigrim
Copy link
Contributor Author

@andrewthad just a gentle ping.

@andrewthad andrewthad merged commit e20992f into haskell:master Oct 23, 2022
@andrewthad
Copy link
Collaborator

Merged!

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.

5 participants