Skip to content

Instantly share code, notes, and snippets.

@hobwekiva
Last active March 22, 2017 12:29
Show Gist options
  • Save hobwekiva/d63508ddb6a728015ace53cb70a1fd5d to your computer and use it in GitHub Desktop.
Save hobwekiva/d63508ddb6a728015ace53cb70a1fd5d to your computer and use it in GitHub Desktop.
Type Functor Apply Applicative Bind Monad MonoidK MonadError Cobind Comonad
Id[A]
Option[A]
Const[K, A] ✔ (K:Monoid) ? ?
Either[E, A]
List[A]
NonEmptyList[A]
ZipList[A]
Stream[A]
Map[K, A]
Validated[E, A] ✔ (E: Semigroup)
Reader[E, A] ✔ (E:Monoid)
Writer[E, A] ✔ (E:Monoid)
IO[A] ✔ (Throwable)
@kailuowang
Copy link

This is really helpful. Do you mind if we add it to cats documentation? If not, let me know if you want to create a PR or I can create one for you (will link here as reference)
I am thinking adding it to here.
https://github.com/typelevel/cats/blob/master/docs/src/main/tut/typeclasses/typeclasses.md
Let me know what you think. Thanks!

@hobwekiva
Copy link
Author

hobwekiva commented Mar 20, 2017

@kailuowang Sure, go ahead. I am not 100% sure that everything is correct btw ;)

@kailuowang
Copy link

I took the liberty of adding this PR. typelevel/cats#1565

@kailuowang
Copy link

The only one I am not sure is the Reader Comonad pair.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment