typelevel / typelevel/cats

Docs - Emphasize which typeclasses/datatypes are most important to learn

Open
#3,976 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
5.5k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
5

Description

Cats documentation lists a lot of typeclasses and datatypes. But for a newcomer, it's not clear which typeclasses/datatypes are the most useful/important.

For example OptionT is way more useful than Writer, but just looking at the docs, that's not clear at all. (You have to go to Discord for someone to point out to you that you will ~never use Write 🙂)

My proposal is to somehow emphasize the more important stuff and deemphasize the less important.

I also leave here feedback by @jducoeur:

"Important" is pretty subjective, so I'd be careful about phrasing, but it's certainly true that in my current class on Cats et al, there are a handful of typeclasses and data types I'm emphasizing, and leaving most of the rest for folks to look into if and when they need them.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Cats typeclasses and datatypes documentation pages, then review the issue's Discord feedback about subjective importance. The scope needs agreement on how to present priorities without overstating them; done would mean the documentation clearly guides newcomers toward the most useful material.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.