package preface

  1. Overview
  2. Docs
An opinionated library for function programming (à La Haskell)

Install

Dune Dependency

Authors

Maintainers

Sources

preface-1.1.0.tbz
sha256=82d8cebf4fa7aac522835e84e735ddfd24de5b9f6d816fb8134ce1f460e4494f
sha512=22c84b1870311c52f245d4703ffa6adcbc33ed7d152ddbc17978c35c56a9c71b4231158ed25a6fd53ee80a2913d52a81247529afddb0e0639c63174717500daf

CHANGES.md.html

v1.1.0 (February 2025)

  • Some fixture for 5.3.0 @xvw

  • Add Lattice @hakimba

  • Add Bounded_lattice @hakimba

  • Breaking change Move Monomorphized version of Result abstraction under the module Result.Mono and provide Indexed abstraction @mspwn

  • Breaking change Remove manifest types in submodules (Infix and Syntax) @mspwn

  • Add Indexed_functor, Indexed_alt, Indexed_apply, Indexed_applicative, Indexed_alternative, Indexed_selective, Indexed_bind, Indexed_monad, Indexed_monad_plus, Indexed_comonad, Indexed_foldable @mspwn, @gr-im, @xvw

  • Add Bounded_join_semilattice @hakimba

  • Add Bounded_meet_semilattice @hakimba

  • Add Join_semilattice @hakimba

  • Add Meet_semilattice @xvw and @hakimba

  • Add Equivalence in Preface.Stdlib @gr-im, @xvw

  • Add Preface.Laws and Preface.Qcheck to allow external users to build their own test suites for implementations outside Preface @gr-im, @xvw

  • Breaking change change minimal version of OCaml to >= 4.12.0 @gr-im

  • Exposition of Apply and Make in Preface.Make @gr-im

v1.0.0 (May 2022)

  • Add selective to Either, Options, Result and Try @d-plaindoux

  • Add specialized interpreters/handlers for Free and Freer monads @xhtmlboi

  • Add right-associative operators for Contravariant, Divisible and Decidable @xhtmlboi

  • Add Bind @d-plaindoux

  • Add Apply @d-plaindoux

  • Add ('a, 'b) handle to simplify handlers for Freer_monad @xvw

  • Rename times to times_to_nel for semigroup-ish and add times for monoid-ish @xvw

  • Add Decidable (Contravariant analogue for Alternative) and add some missing infixes operators for Divisible @gr-im

  • Removing early destructive substitution @xhtmlboi

  • Add Semigroupoid @d-plaindoux

  • Add Freer Selective @gr-im

  • Add Invariant (Functor) (and some instance) @gr-im

  • Add Kleisli and Cokleisli @gr-im

  • Add Join, Joker and Clown @gr-im

  • Relax constraint for definition of Profunctor and Choice using the Kleisli Arrow @gr-im

  • Make List and Nonenmpty_list Traversable implementations (for both Applicative and Monad) Tail-recursive @xvw

  • Add Seq module in Stdlib (with Functor, Applicative (with Traversable), Alternative, Monad (with Traversable), Monad_plus, Monoid and Foldable) @xvw

  • Add mli for stdlib's test and example's test (in order to track unused tests) @xvw

  • Use absolute URLs for image in documentation (in order to fit with the new version of OCaml.org) @xvw

  • Add Selective for Free monad and Freer monad @xvw

v0.1.0 (August 2021)

OCaml

Innovation. Community. Security.