View on GitHub


Documenting everything about OCaml


Machine Learning, Scientific Computing and Data Science

Machine Learning/Data Science

  • Owl: OCaml numeric library. Offers compilation of computation graphs to Tensorflow. See above.
  • ocaml-torch: OCaml bindings for PyTorch.
  • tensorflow-ocaml: OCaml bindings for TensorFlow.
  • hdf5-OCaml: OCaml implementation of hdf5 reader/writer. hdf5 is a file format commonly used in data science.

Numerical Computing/Data Science

  • Owl: OCaml numerical library: dense and sparse matrix, linear algebra, regressions, maths and stats functions.
  • pareto: Statistics library using GSL.
  • SPOC: Allows computing in OCaml with GPUs. Supports both CUDA and OpenCL.
  • lacaml: OCaml bindings for BLAS/LAPACK (high-performance linear algebra Fortran libraries).
  • sklearn: OCaml bindings to python’s scikit-learn, numpy and scipy. These are heavy duty libraries used by professional data scientists.
  • onumerical: Numerical library for OCaml.
  • oml: OCaml library for general numerical work.
  • slap: A linear algebra library in OCaml with type-based static size checking for matrix operations.
  • obandit: OCaml library for multi-armed bandits.
  • ocephes: Bindings to frequently used C special functions library.
  • glpk: Bindings to the glpk linear programming kit.
  • zarith: Arithmetic over arbitrary precision integers and rational numbers. Uses gmplib. Note that operations can be more expensive than calling gmplib directly.
  • gmp-ocaml: Low-level bindings to the gmplib.

Data Visualization

  • oplot: Mathematical plotting library in OCaml.
  • ocaml-matplotlib: Bindings to python’s excellent matplotlib visualization library.
  • Owl-plot: Part of Owl. Uses Plplot to provide easy access to data visualization.


  • biocaml: OCaml Bioinformatics Library, see also
  • bistro: OCaml library for building bioinformatics pipelines.

Numerical File Formats