typelevel / typelevel/cats-effect
A little more `IO` and a little less `F[_]`
@valencik is already working on this.
Since Sep 28, 2022.
- Dominant language
- Scala
- Stars
- 2.2k
- Forks
- 576
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 18
Description
I think we've all converged on the idea that beginners should definitely start with concrete IO. And that there's no harm in continuing to use concrete IO indefinitely; indeed many teams are doing this.
So this is all well and good. Except our docs are full of stuff like this:
Which invariably leads to beginner questions: what is F[_]? To which a quick answer is "replace every F you see with IO".
Well, woops 😛
def myProgram[IO[_]: Console : Monad]: IO[Unit] = ???
I think we should prioritize writing examples with concrete IO, since that is exactly what we are pitching. Providing a second example written in terms of F[_] (possibly via a fancy tabbed switcher on the website) would be reserved for bonus points.
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.
Assessment
This issue has not been assessed yet.