cats icon indicating copy to clipboard operation
cats copied to clipboard

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

Open LLCampos opened this issue 3 years ago • 1 comments

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 :slightly_smiling_face:)

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.

LLCampos avatar Aug 25 '21 16:08 LLCampos

I'll note that the class I refer to above is working from Scala With Cats at the moment (transitioning soon to Essential Effects), and the organization of that book is a not-half-bad prioritized list, at least through Chapter 5 -- it's organized pedagogically, which is really the high priority for new folks.

I seem to recall that the Cats docs used to be organized that way? It looks like the index got redone to be alphabetical, which is better for a reference, but less useful for tutorial purposes.

jducoeur avatar Aug 25 '21 16:08 jducoeur