View on GitHub

OCamlverse

Documenting everything about OCaml

Edit

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.
  • sketch.sh: 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.