Make a bunch of instances traits/classes private/sealed#612
Merged
Conversation
This is related to typelevel#496, but it's a broader issue than just this change. These instances traits/classes are used internally for code organization and implicit prioritization, but they aren't really meant to be part of the public API. Making them private/sealed may be helpful for binary compatibility in the future. It also may be a helpful indicator to newcomers which traits/classes are actually meant for consumption, so they can ignore some of the noise. So far, I have left the traits for orphans from `std` (such as `StringInstances`), and I have left the omni-instance traits exposed.
Current coverage is
|
Contributor
|
👍 |
1 similar comment
Member
|
👍 |
mpilquist
added a commit
that referenced
this pull request
Nov 7, 2015
Make a bunch of instances traits/classes private/sealed
This was referenced Nov 18, 2015
lvicentesanchez
pushed a commit
to lvicentesanchez/cats
that referenced
this pull request
Nov 22, 2015
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is related to #496, but it's a broader issue than just this change.
These instances traits/classes are used internally for code organization
and implicit prioritization, but they aren't really meant to be part of
the public API. Making them private/sealed may be helpful for binary
compatibility in the future. It also may be a helpful indicator to
newcomers which traits/classes are actually meant for consumption, so
they can ignore some of the noise.
So far, I have left the traits for orphans from
std(such asStringInstances), and I have left the omni-instance traits exposed.