typelevel/cats-effect

A little more `IO` and a little less `F[_]`

Open

#3.133 geöffnet am 27. Aug. 2022

Auf GitHub ansehen
 (13 Kommentare) (10 Reaktionen) (2 zugewiesene Personen)Scala (572 Forks)batch import
:books: docsgood first issue🥺 help wanted

Repository-Metriken

Stars
 (2.230 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 21T 23h) (18 gemergte PRs in 30 T)

Beschreibung

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:

https://github.com/typelevel/cats-effect/blob/3da61a59438da30f9bb01192fec9e690aacc3ce4/std/jvm/src/main/scala/cats/effect/std/Console.scala#L30-L39

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