Closed TrySound closed 7 years ago
Hey @TrySound, thanks!
My feeling is that even though it's redundant information, it's more helpful than harmful. The current list is definitely inconsistent, though, since it enumerates Functor, Applicative, and Monad, but then only mentions Monoid rather than Semigroup and Monoid.
Haskell docs and Purescript docs tend to include the exhaustive list (e.g. Semigroup and Monoid), although that's slightly different context since it's API documentation.
So, I guess we should do one of these to be consistent:
I'm leaning toward 2, since it feels like it does no harm, and may even be helpful to some.
Thoughts?
Too much information can be confusing, especially for newcomers. However, though FP is quite a difficult topic to approach, because of the mathematical names, it may be a good idea to be exhaustive and mention all the type classes because it provides the information that all type classes have been implemented and not just (wrongly) a subset, which sometimes is seen during the maturing of libraries. Thus, I also favor no. 2.
Too much information can be confusing, especially for newcomers.
Good point--always important to keep in mind!
Summary
Most itself support and fantasy and static land. Also monad already includes functor and applicative interfaces according both spec