preface

An opinionated library for function programming (à La Haskell)
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library preface.specs
include Applicative.WITH_PURE_AND_LIFT2
type 'a t

The type held by the Applicative.

include Applicative.WITH_PURE with type 'a t := 'a t
val pure : 'a -> 'a t

Lift a value from 'a into a new 'a t.

include Apply.WITH_LIFT2 with type 'a t := 'a t
val lift2 : ( 'a -> 'b -> 'c ) -> 'a t -> 'b t -> 'c t

Mapping over from 'a and 'b to 'c over 'a t and 'b t to 'c t.

include WITH_NEUTRAL_AND_COMBINE with type 'a t := 'a t
val combine : 'a t -> 'a t -> 'a t

Combine two values of 'a t into one.

val neutral : 'a t

The neutral element of the Alternative.