Skip to content
This repository has been archived by the owner on Jul 24, 2019. It is now read-only.

Commit

Permalink
Merge branch 'master' into apply-k
Browse files Browse the repository at this point in the history
  • Loading branch information
Luka Jacobowitz committed Jul 7, 2018
2 parents e93b74c + a58150f commit f4b3f95
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions docs/src/main/tut/typeclasses.md
Expand Up @@ -11,6 +11,7 @@ position: 4
Currently there are four type classes defined in mainecoon: [FunctorK](#functorK), [InvariantK](#invariantK), [SemigroupalK](#semigroupalK), and [ApplyK](#applyK). They can be deemed as somewhat higher kinded versions of the corresponding type classes in cats.



### <a id="functorK" href="#functorK"></a>`FunctorK`
```tut:silent
def mapK[F[_], G[_]](af: A[F])(fk: F ~> G): A[G]
Expand All @@ -36,6 +37,7 @@ For tagless final algebras that

instance of `SemigroupalK` can be auto generated through `autoSemigroupalK` annotation.


### <a id="applyK" href="#applyK"></a>`ApplyK`
```
def map2K[F[_], G[_], H[_]](af: A[F], ag: A[G])(f: Tuple2K[F, G, ?] ~> H): A[H]
Expand All @@ -51,6 +53,7 @@ instance of `ApplyK` can be auto generated through `autoApplyK` annotation.




Their laws are defined in `mainecoon.laws`. To test your instance (if you decide to roll your own) against these laws please follow the examples in `mainecoon.tests`, especially the ones that test against `SafeAlg`.


0 comments on commit f4b3f95

Please sign in to comment.