bisect_ppx VS merlin

Compare bisect_ppx vs merlin and see what are their differences.


Code coverage for OCaml and ReScript (by aantron)


Context sensitive completion for OCaml in Vim and Emacs (by ocaml)
Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
bisect_ppx merlin
1 6
238 1,370
- 0.7%
8.7 9.4
about 1 month ago 8 days ago
OCaml OCaml
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of bisect_ppx. We have used some of these posts to build our list of alternatives and similar projects.
  • Debugging/Profiling/VM library for Ocaml.
    1 project | | 21 Sep 2021
    It's not so clear to me what you want, the following come to mind: - if you want to "inspect the recursive calls" of a recursive function, you may not need any instrumentation: you can turn your function in open-recursion style, and provide a fixpoint combinator that does the inspection (see code below) - if you want to instrument the code globally, one easier-than-most approach is to use a ppx preprocessor to instrument the code (this assumes that the logic you want can be expressed as a slight modification of the user-written code), see ppx_bisect (code-coverage instrumentation) for example.


Posts with mentions or reviews of merlin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-08-03.
  • Hoogle for Rust?
    5 projects | | 3 Aug 2021
    Instead of searching functions based on their type structure (like Hoogle), you could search for functions that "consume"/"produce" values of given types (like OCaml's Merlin). I think Rust already computes variance of type constructors, so such a tool just would have to obtain this information.
  • Dot completion
    3 projects | | 7 May 2021
    Assuming you followed the instructions you got when you installed merlin (shows up as part of opam's output), you either need a manually created .merlin file to tell it where to find things, or a dune file that lists dependencies with which merlin can auto-create its own. Preferably the latter: use dune and let merlin do the rest.
    3 projects | | 7 May 2021
    However, after posting this question I stumbled upon this Github issue where they say it isn't supposed to work out of the box and you're supposed to bind a key to it by editing your .emacs file. Turns out the default .emacs file binds auto-complete to "backtab" which means Shift+Tab but that didn't work. I did eventually discover that I can get some kind of completion by binding backtab to completion-at-point like this:
  • Advice/best practice/arhitecture pattern for building language with LSP in mind?
    3 projects | | 3 May 2021
    Self-advertising: I partcipated to the writing of Merlin: A Language Server for OCaml (Experience Report), which explains the overall design of Merlin, a language server for OCaml. A key idea of Merlin are that classic lexing-parsing-typing pipelines can easily be adapted to be incremental for a Language Server, especially when they are using immutable data structures.
  • merlin: Context sensitive completion for OCaml in Vim and Emacs
    1 project | | 11 Apr 2021
  • Language Server built into the compiler ?
    2 projects | | 6 Mar 2021
    Self-advertisment: we wrote a paper on how the Merlin tool does this for the OCaml programming language, obtaining good incrementality thanks to well-chosen (and not so large) changes to the existing batch-compiler implementation.

What are some alternatives?

When comparing bisect_ppx and merlin you can also consider the following projects:

hoogle - Haskell API search engine

Mosh - Mobile Shell

rust-prolog - Rust implementation of prolog based on miniprolog:

ocamlformat - Auto-formatter for OCaml code

ocaml-decimal - Arbitrary-precision floating-point decimals

ocaml - The core OCaml system: compilers, runtime system, base libraries

google-drive-ocamlfuse - FUSE filesystem over Google Drive