Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. Since version 4.0, merlin's repository has a dedicated branch per version of OCaml, and the branch name consist of the concatenation of OCaml major version and minor version. So, for instance, OCaml 4.11.* maps to branch 411. The main branch is usually synchronized with the branch compatible with the latest (almost-)released version of OCaml. Note: if you're using an older version of OCaml (between 4.02 and 4.10) you will want to build the 3.4 branch, although it won't contain the most recent features. If you want to work on merlin, you'll want to avoid the -p merlin, to build in dev mode, with some extra warnings enabled. In that case you'll also need an extra dependency.
Features
- To set up Emacs and Vim, you need to instruct them to run the appropriate script when an OCaml file is opened
- Merlin comes with an emacs library
- An installable core merlin package is available via MELPA
- Merlin only supports Vim and Emacs out-of-the-box
- OCaml has official support for Visual Studio Code through an extension called OCaml Platform
- Consider using OCaml-LSP along with your editor's plugin for LSP if there is one