View on GitHub Edit this page


Documenting everything about OCaml

Code Tools

Editor Tools

For an OCaml beginner, the recommended editor of choice is Visual Studio code with the ReasonML plugin.

  • VSCode-Reason: the Reason/OCaml plugin for Visual Studio code. It allows for all the advantages provided by Merlin with the convenience of the VSCode IDE.
  • merlin: the main tool used to provide information to editors about OCaml codebases. Note that to provide information, the code must first be compiled. Dune is able to automatically create /.merlin/ files, which are needed to help merlin find the compiled files.
  • tuareg: OCaml mode for Emacs that can run the toplevel and the debugger within Emacs.
  • Sublime better ocaml: better OCaml mode for Sublime Text.
  • ocp-index: Easy access to the interface information of installed OCaml libraries. Contains a few standalone tools:
    • ocp-browser: Excellent, easily accessible ncurses-based API and documentation browser. Available independently on OPAM.
    • ocp-index-top: toplevel directive for looking up documentation using ocp-index.
  • ocp-indent: indentation tool for OCaml, to be used from editors like Emacs and Vim.
  • user-setup: automatically configures several editors to use merlin, ocp-indent, and ocp-index if they are installed. Run opam install user-setup to install it, and then follow the instructions, which tell you to run opam user-setup install.

Developer Tools

  • utop: Very powerful toplevel for OCaml, that is far better than the default one. A must-install for every OCaml programmer.
  • Online tool for playing around with OCaml (most up-to-date version).
  • odoc: An automatic documentation generator for OCaml that creates beautiful html.
  • Try OCaml: Try OCaml in your web browser.
  • codingground: Compile and execute OCaml code online.
  • mdx: Tool for executing code or shell snippets inside markdown files.
  • iocaml: An OCaml kernel for the IPython notebook.
  • ocamlbrowser: A source and compiled interface browser, written using LablTk and included with it.
  • ghim: A command-line tool to manage Github Issues.
  • OCaml Yeoman Generator: Yeoman generator to scaffold OCaml modules.
  • Dead Code Analyzer: OCaml dead code analysis.

Code Coverage

  • Bisect: A coverage tool for OCaml.
  • Bisect_ppx: A more recent fork of the previous tool, making use of ppx processing.