This package provides a non-blocking encoder/decoder of Quoted-Printable according to RFC2045 and RFC2047 (about encoded-word). Useful to translate contents of emails.
Xmlm is a streaming codec to decode and encode the XML data format. It can process XML documents without a complete in-memory representation of the data.
Piqi is a multi-format data serialization system for OCaml. It provides a uniform interface for serializing OCaml data structures to JSON, XML and Protocol Buffers formats.
UTop is an improved toplevel for OCaml. It can run in a terminal or in Emacs. It supports line editing, history, real-time and context sensitive completion, colors, and more.
This project provides a Mmap.map_file
function for mapping files in memory. This function is the same as the Unix.map_file
function added in OCaml >= 4.06.
This package provides an OCaml library for interacting with files in the TOML format. Specifically, it provides a parser, a serializer, and a pretty printer.
Logs provides a logging infrastructure for OCaml. Logging is performed on sources whose reporting level can be set independently. Log message report is decoupled from logging and is handled by a reporter.
Uucd is an OCaml module to decode the data of the Unicode character database from its XML representation. It provides high-level (but not necessarily efficient) access to the data so that efficient representations can be extracted.
Uunf is an OCaml library for normalizing Unicode text. It supports all Unicode normalization forms. The library is independent from any IO mechanism or Unicode text data structure and it can process text without a complete in-memory representation.
Hmap provides heterogeneous value maps for OCaml. These maps bind keys to values with arbitrary types. Keys witness the type of the value they are bound to which allows adding and looking up bindings in a type safe manner.
Odoc is a documentation generator for OCaml. It reads doc comments, delimited with (** ... *)
, and outputs HTML.
Text inside doc comments is marked up in ocamldoc syntax. Odoc's main advantage over ocamldoc is an accurate cross-referencer, which handles the complexity of the OCaml module system.
This package is an OCaml library to parse and generate the YAML file format. It is intended to be interoperable with the Ezjsonm
JSON handling library, if the simple common subset of Yaml is used. Anchors and other advanced Yaml features are not implemented in the JSON compatibility layer.
Cppo is an equivalent of the C preprocessor for OCaml programs. It allows the definition of simple macros and file inclusion. Cppo is:
more OCaml-friendly than
cpp
easy to learn without consulting a manual
reasonably fast
simple to install and to maintain.
Library that allows OCaml programs to interact with Python modules and objects. The library also provides low-level bindings to the Python C API.
This library is an alternative to pycaml
which is no longer maintained. The Pycaml
module provides a signature close to pycaml
, to ease migration of code to this library.
Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver. Mccs take as input a CUDF problem and computes the best solution according to a set of criteria. It relies on a Integer Programming solver or a Pseudo Boolean solver to achieve its task. Mccs can use a wide set of underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.
Uutf is a non-blocking streaming codec to decode and encode the UTF-8, UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently work character by character without blocking on IO. Decoders perform character position tracking and support newline normalization.
Functions are also provided to fold over the characters of UTF encoded OCaml string values and to directly encode characters in OCaml Buffer.t values.
Base is a complete and portable alternative to the OCaml standard library. It provides all standard functionalities one would expect from a language standard library. It uses consistent conventions across all of its module.
Base aims to be usable in any context. As a result system dependent features such as I/O are not offered by Base. They are instead provided by companion libraries such as ocaml-stdio.
Down is an unintrusive user experience upgrade for the ocaml
toplevel (REPL).
Simply load the zero dependency down
library in the ocaml
toplevel and you get line edition, history, session support and identifier completion and documentation with ocp-index
.
Add this to your ~/.ocamlinit
:
#use "down.top"
You may also need to add this to your ~/.ocamlinit
and declare the environment variable OCAML_TOPLEVEL_PATH
:
let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") with Not_found -> ()
OR
let () = String.split_on_char ':' (Sys.getenv "OCAMLPATH") |> List.filter (fun x -> Filename.check_suffix x "/site-lib") |> List.map (fun x -> x ^ "/toplevel") (* remove the line below if you don't want to see the text every time you start the toplevel *) |> List.map (fun x -> Printf.printf "adding directory %s\n" x; x) |> List.iter Topdirs.dir_directory;;
OCamlgraph is a generic graph library for OCaml.
This package provides a structured concurrency library for OCaml.
An implementation inspired by Okasaki & Gill's paper 'Fast Mergeable Integer Maps.'
OCamlFormat is a tool to automatically format OCaml code in a uniform style.
Bindings providing OCaml support for the seminal Fast Fourier Transform library FFTW.
This library implements structured concurrency for ocaml. It offers no backwards compatibility guarantees.