preface

An opinionated library for function programming (à La Haskell)
IN THIS PACKAGE
type ('a, 'b) t = ( 'a, 'b ) Category.t

The type held by the Arrow_choice.

val left : ( 'a, 'b ) t -> ( ( 'a, 'c ) Preface_core.Shims.Either.t, ( 'b, 'c ) Preface_core.Shims.Either.t ) t

Feed marked inputs through the argument arrow, passing the rest through unchanged to the output.

val arrow : ( 'a -> 'b ) -> ( 'a, 'b ) t

Lift a function to an Arrow.

val fst : ( 'a, 'b ) t -> ( 'a * 'd, 'b * 'd ) t

Send the first component of the input through the argument Arrow, and copy the rest unchanged to the output.