[Scala 3] Extra instances for `Covariant`, `Invariant`
Open
Nobody has claimed this yet.
Feature
- Dominant language
- Scala
- Stars
- 545
- Forks
- 66
- Avg merge
- 26m
- Merged PRs (30d)
- 2
Description
For scala 3, we should hopefully be able to support additional derived instances of Invariant and Covariant for nested type constructors. Specifically:
(Invariant[F], Functor[G]) => Invariant[[x] =>> F[G[x]]]
(Invariant[F], Contravariant[G]) => Invariant[[x] =>> F[G[x]]]
(Contravariant[F], Functor[G])=> Contravariant[[x] =>> F[G[x]]]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin by locating the Scala 3 derivation code and tests for Covariant, Invariant, and Contravariant; the issue names no paths or entry points. Compare existing nested type-constructor instances with the three requested combinations, and consider the work complete when those combinations are supported with tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100