Expect-test is a framework for writing tests in OCaml, similar to Cram. Expect-tests mimics the existing inline tests framework with the let%expect_test construct. The body of an expect-test can contain output-generating code, interleaved with %expect extension expressions to denote the expected output.
The stdlib-random package provides a stable and compiler-independent implementation of all the PRNGs used in the Random module. Those PRNGs are available in the various libraries: - stdlib-random.v3: OCaml 3.07 to 3.11 PRNG - stdlib-random.v4: OCaml 3.12 to 4.14 PRNG - stdlib-random.v5: current OCaml 5.0 PRNG - stdlib-random.v5o: pure OCaml version of the OCaml 5 PRNG All those libraries can be used together and the signature of their Random$n module has been extended to the latest signature whenever possible.
This package provides two library modules:
Stream: imperative streams, with in-place update and memoization of the latest element produced.
Genlex: a small parameterized lexical analyzer producing streams of tokens from streams of characters.
The two modules are designed for use with Camlp4 and Camlp5: The stream patterns and stream expressions of Camlp4/Camlp5 consume and produce data of type 'a Stream.t. The Genlex tokenizer can be used as a simple lexical analyzer for Camlp4/Camlp5-generated parsers.
The Stream module can also be used by hand-written recursive-descent parsers, but is not very convenient for this purpose.
The Stream and Genlex modules have been part of the OCaml standard library for a long time, and have been distributed as part of the core OCaml system. They will be removed from the OCaml standard library at some future point, but will be maintained and distributed separately in the camlpstreams package.
Documentation at https://melpa.org/#/flycheck-ocaml
This package generates JUnit XML reports from ocaml-alcotest test suites.
This package provides a bundle of useful runtime functions for applications built with MirageOS
This package provides string type based on [Bigarray], for use in I/O and C-bindings.
ppx-sexp-value is a ppx rewriter that simplifies building s-expressions from ocaml values.
This module implements purely in OCaml a character width function that follows the prototype of POSIX's wcwidth.
afl-fuzz normally works by repeatedly forking the program being tested. Using this package, you can run afl-fuzz in ``persistent mode'', which avoids repeated forking and is much faster.
Used to trace execution of OCaml/Lwt programs (such as Mirage unikernels) at the level of Lwt threads. The traces can be viewed using JavaScript or GTK viewers provided by mirage-trace-viewer or processed by tools supporting the Common Trace Format. When compiled against a normal version of Lwt, OCaml's cross-module inlining will optimise these calls away, meaning there should be no overhead in the non-profiling case.
This package contains a compatibility library for Stdlib.Bigarray in OCaml.
This package contains a syntax extension for writing in-line tests in ocaml code. It is part of Jane Street's PPX rewriters collection.
base-quickcheck provides randomized testing in the style of Haskell's Quickcheck library, with support for built-in types as well as types provided by Base.
Ppx_fields_conv is a ppx rewriter that can be used to define first class values representing record fields, and additional routines, to get and set record fields, iterate and fold over all fields of a record and create new record values.
This package allows one to access information about how the executable was built, such as the version of the project at which it was built or the list of statically linked libraries with their versions. It supports reporting the version from the version control system during development to get an precise reference of when the executable was built.
This package can automatically generate runtime types from type definitions.
The subset of textutils using only core_kernel and working in javascript.
Modules using ppx_module_timer have instrumentation to record their startup time.
This package contains a parser and a pretty-printer for the opam file format.
Library for building RPC-style protocols. This library is the portable part of the Unix-oriented Async_rpc library, and is actively used in JavaScript.
Ppx_sexp_message aims to ease the creation of s-expressions in OCaml. This is mainly motivated by writing error and debugging messages, where one needs to construct a s-expression based on various element of the context such as function arguments.
This is the runtime support library for code generated by functoria.
This package generates accessors and iteration functions for OCaml variant types.