packagebatteries
Install
Dune Dependency
Authors
Maintainers
Sources
md5=ea26b5c72e6731e59d856626049cca4d
sha512=55975b62c26f6db77433a3ac31f97af609fc6789bb62ac38b267249c78fd44ff37fe81901f1cf560857b9493a6046dd37b0d1c0234c66bd59e52843aac3ce6cb
Description
Published:31 Dec 2024
README
Welcome to OCaml Batteries Included
OCaml Batteries Included, or justBatteries, 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.
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 thisbefore starting the build process because this location is stored in theBatteries_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 theocamlinit
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 thebatteries-included wiki.
ExtLib Compatibility
If your project currently usesExtLib, most likely you can just change-package extlib
to-package batteries
and addopen 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 theguidelines wiki page.
If you use emacs, the filebatteries_dev.el
has extra highlighting to support writing quicktests.
Dependencies (5)
- num
- ocamlfind
>= "1.5.3"
- camlp-streams
- ocaml
>= "4.05" & < "5.4"
- dune
>= "2.7"
Dev Dependencies (4)
Used by (51)
- acp4
- acpc
>= "2.0.0"
- bookaml
- bst
>= "5.0.0"
- clangml
< "4.0.0"
- cpm
>= "4.0.0"
- daft
>= "0.0.4"
- expect
- fasmifra
- fstar
- gen-bs
- get_line
>= "4.0.0"
- goblint
>= "2.0.0"
- goblint-cil
>= "1.8.0" & < "2.0.0"
- grib
< "0.11.0"
- hts_shrink
- jasmin
- jhupllib
>= "0.2.2"
- karamel
- kmt
- kremlin
< "transition"
- lbvs_consent
- line_oriented
- linwrap
- liquid_syntax
- markdown
- mmo
- molenc
< "15.4.0" | >= "16.5.0"
- monadlib
- mutf8
- obandit
- odnnr
- omlr
- oplsr
- oranger
- orf
- orrandomForest
>= "3.0.0"
- orsvm_e1071
- orxgboost
- pa_comprehension
- pardi
- pds-reachability
- portia
- ppx_nanocaml
- rankers
- remu_ts
- spirv
- svmwrap
- telegraml
- typeid
- vcardgen
>= "1.1"