package preface

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The Freer selective API without the Preface_specs.Selective API.

type 'a f

The parametric type (which, unlike a Preface_specs.Free_selective don't need to be a Preface_specs.Functor).

type _ t =
  1. | Pure : 'a -> 'a t
  2. | Select : (('b -> 'a, 'a) Either.t t * 'b f) -> 'a t

The type held by the Freer selective.

val promote : 'a f -> 'a t

Promote a value from the Preface_specs.Functor into the Freer selective.

module To_selective (Selective : Selective.API) : TO_SELECTIVE with type 'a t := 'a t and type 'a f := 'a f and type 'a selective := 'a Selective.t

The natural transformation from a Freer selective to an other Preface_specs.Selective.

module To_monoid (Monoid : Monoid.CORE) : TO_MONOID with type 'a t := 'a t and type 'a f := 'a f and type monoid := Monoid.t

The natural transformation from a Freer selective to a Preface_specs.Monoid.