Skip to content

Monoid, Functor, Applicative, Monad and more

License

Notifications You must be signed in to change notification settings

murilo/TypeClasses.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Monoid, Functor, Applicative, Monad and more

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%