cats
cats copied to clipboard
Docs - Emphasize which typeclasses/datatypes are most important to learn
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.
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.