cujojs / most

Ultra-high performance reactive programming
MIT License
3.49k stars 231 forks source link

Clean up readme types #476

Closed TrySound closed 7 years ago

TrySound commented 7 years ago

Summary

Most itself support and fantasy and static land. Also monad already includes functor and applicative interfaces according both spec

briancavalier commented 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:

  1. Merge this PR, to mention only the "top" of each hierarchy, or
  2. Add Semigroup, to mention all of the type classes specifically

I'm leaning toward 2, since it feels like it does no harm, and may even be helpful to some.

Thoughts?

Frikki commented 7 years ago

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.

briancavalier commented 7 years ago

Too much information can be confusing, especially for newcomers.

Good point--always important to keep in mind!