haskell / haskell/binary

Swap dependency between text and binary

Open
#221 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
120
Forks
70
PR merge metrics
No merged PRs in 30d

Description

In the past there were a few discussions regarding moving `Text` data type (and its instances, but not any other functions) into `base`. One sticking point was where would `instance Binary Text` (currently defined in `text`) go: it cannot be in `base` (because `Binary` is not in `base`) and it cannot be in `text` (because if `Text` is defined in `base` and `Binary` is defined in `binary` then `instance Binary Text` would be orphan in `text`). The only option would be to move it to `binary`, swapping from `text` depending on `binary` to vice versa.

Given that there are plans for breaking changes in `binary` anyway, could we use this as an opportunity to swap the order of dependencies between `text` and `binary` now (paving way to potential future move of `Text` into `base`)? Namely:
* release `binary-1.0` with an automatic Cabal flag choosing between `build-depends: text >= 2.1.5` + defining `instance Binary Text` (by default) or no op (if forced by Cabal solver).
* release `text-2.1.5` with an automatic Cabal flag choosing between `build-depends: binary < 1` + defining `instance Binary Text` (by default) or no op (if forced by Cabal solver).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.