package preface

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

A Free selective allows you to build a rigid Preface_specs.Selective from a given Preface_specs.Functor.

Such Preface_specs.selective is equiped with and additional function for promoting values from the underlying Preface_specs.Functor into the Free selective and a Natural transformations for transforming the value of the Free selective to an other Preface_specs.Selective or to a Preface_specs.Monoid.

Note about complexity

Although free constructs are elegant, they introduce an execution cost due to the recursive nature of defining the type of a Free Selective. There are cheaper encodings but they are not, for the moment, available in Preface.

Structure anatomy

module type TO_SELECTIVE = sig ... end

The natural transformation for Free Selective to Selective.

module type TO_MONOID = sig ... end

The natural transformation for Free Selective to Monoid.

module type CORE = sig ... end

The Free selective API without the Preface_specs.Selective API.

Complete API

module type API = sig ... end

The complete interface of a Free selective.

Additional references