package primavera

All checked builds pass
  1. Overview
  2. Docs

Description

Primavera offers a Reader monad for injecting dependencies

Added to opam-repository:

README

Primavera

To make our software easy to test (and potentially to vary its runtime or interpretation), OCaml provides several tools likes:

Although these approaches all offer advantages—such as continuity checking for effects and the ability to introduce types for modules—these advantages often capture aspects of very advanced programming. And sometimes, we would like a simpler approach, while still preserving type inference and tracking dependencies within the type system.

Primavera combines OCaml's object model with a Reader Monad to allow certain operations to be abstracted while still being tracked within the type system. See the teletype example for a very brief usage example.

The library also provides functors for building wrappers around parameterized types such as Result, Lwt, or Option, and allows you to describe traversable structures.

Dependencies (2)

  1. ocaml >= "5.0.0"
  2. dune >= "3.21"

Dev Dependencies (8)

  1. odoc with-doc
  2. ocaml-lsp-server with-dev-setup
  3. merlin with-dev-setup
  4. ocp-indent with-dev-setup
  5. ocamlformat with-dev-setup
  6. utop with-dev-setup
  7. mdx with-test & >= "2.6.0"
  8. alcotest with-test & >= "1.9.1"

Optional Dependencies

None

Used by (1)

  1. pidgio

Conflicts

None

Build status

Results of building primavera with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
1.1.0 (this version) n/a n/a good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure