Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



98 Commits

Repository files navigation


Stable Dev Build Status Coverage

TypeClasses defines general programmatic abstractions taken from Scala cats and Haskell TypeClasses.

The following interfaces are defined:

TypeClass Methods Description
Functor The basic definition of a container or computational context.
Applicative Functor &TypeClasses.ap Computational context with support for parallel execution.
Monad Applicative &TypeClasses.flatmap Computational context with support for sequential, nested execution.
Semigroup TypeClasses.combine, alias The notion of something which can be combined with other things of its kind.
Monoid Semigroup &TypeClasses.neutral A semigroup with a neutral element is called a Monoid, an often used category.
Alternative TypeClasses.neutral & TypeClasses.orelse, alias Slightly different than Monoid, theorelse semantic does not merge two values, but just takes one of the two.