An opinionated library for function programming (à La Haskell)

Using the minimal definition

Build a Preface_specs.SEMIGROUP using Preface_specs.Semigroup.WITH_COMBINE.

Standard method, using the minimal definition of a semigroup to derive its full API.

From other abstraction

From an Alt

Specialize an Preface_specs.ALT into a Preface_specs.SEMIGROUP.

From an Alternative

Specialize an Preface_specs.ALTERNATIVE into a Preface_specs.SEMIGROUP.

From a Monad plus

Specialize an Preface_specs.MONAD_PLUS into a Preface_specs.SEMIGROUP.

Manual construction

Advanced way to build a Preface_specs.SEMIGROUP, constructing and assembling a component-by-component of Preface_specs.SEMIGROUP. (In order to provide your own implementation for some features.)

Grouping of all components

Building Core

Deriving Operation

Deriving Infix