package preface
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Module Preface_specs.Free_monad
A Free monad allows you to build a Preface_specs.Monad from a given Preface_specs.Functor.
Such Preface_specs.Monad is equipped with two additional functions: one dedicated to the creation of a new data and another one for the effect handling.
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 Monad. There are cheaper encodings like Preface_specs.Freer_monad, which removes the requirement for the Free monad parameter to be a Preface_specs.Functor and therefore does not increase its complexity.
Structure anatomy
module type TO_MONAD = sig ... endThe natural transformation for Free Monad to Monad.
module type CORE = sig ... endThe Free Monad API without the Preface_specs.Monad API.
Complete API
module type API = sig ... endThe complete interface of a Free monad.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page