Need help with batteries-included?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ocaml-batteries-team
417 Stars 101 Forks Other 3.7K Commits 95 Opened issues

Description

Batteries Included project

Services available

!
?

Need anything else?

Contributors list

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.