TypeClasses.jl

Monoid, Functor, Applicative, Monad and more
Author JuliaFunctional
Popularity
16 Stars
Updated Last
3 Months Ago
Started In
January 2020

TypeClasses.jl

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 Base.map 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.

Used By Packages