batteries-included

by ocaml-batteries-team

ocaml-batteries-team / batteries-included

Batteries Included project

414 Stars 96 Forks Last release: about 2 months ago (v3.1.0) Other 3.6K Commits 75 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Welcome to OCaml Batteries Included

OCaml Batteries Included, or just Batteries, is a community-maintained foundation library for your OCaml projects. Batteries

  • defines a standard set of libraries which may be expected on every compliant installation of OCaml;

  • organizes these libraries into a hierarchy of modules, with a single source of documentation; and

  • provides a consistent API for otherwise independent libraries.

Build Status

Building Batteries

Requirements

You will need the following libraries:

  • OCaml >= 3.12.1
  • Findlib >= 1.5.3
  • GNU make
  • OUnit to build and run the tests (optional)
  • qtest >= 2.0.1 to build and run the tests (optional)
  • ocaml-benchmark to build and run the performance tests (optional)

Configuration and Installation

To install the full version of Batteries, execute

$ make all
$ make test               [ optional ]
$ sudo make install

$ make doc [ optional ] $ sudo make install-doc [ optional ]

If you want the documentation installed elsewhere, set this before starting the build process because this location is stored in the

Batteries_config
module generated during compilation.
$ export DOCROOT=/path/to/new/docroot/

To disable native compilation:

$ export BATTERIES_NATIVE=false

To disable building of native shared libraries:

$ export BATTERIES_NATIVE_SHLIB=false

Using Batteries

To get started using Batteries at the toplevel, copy the

ocamlinit
file to
~/.ocamlinit
:
$ cp ocamlinit ~/.ocamlinit

If you already have findlib in your

~/.ocamlinit
, you only need the last line in our ocamlinit to load batteries.

More usage help available on the batteries-included wiki.

ExtLib Compatibility

If your project currently uses ExtLib, most likely you can just change

-package extlib
to
-package batteries
and add
open Extlib
to the top of any extlib-using modules. Batteries' modules are all named BatFoo to differentiate them from extlib's modules, so one can use Batteries and ExtLib in the same project.

COMPATIBILITY NOTE: If you're using ExtLib's Unzip module, it does not have a corresponding module in batteries at the moment.

Extending Batteries

See the guidelines wiki page.

If you use emacs, the file

batteries_dev.el
has extra highlighting to support writing quicktests.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.