Hi, On Thu, Nov 8, 2018 at 10:16 AM Nicolás Ojeda Bär < nicolas.ojeda.bar@lexifi.com> wrote: > The main reason for the deprecation is that it is superseded by > .cmt-based infrastructure (as exploited by e.g. merlin, ocp-index, > etc). > I was thinking about the good old .annot days (finally, type information in emacs!), as well as of the not-so-good-ones (generation of the .annot file that took longer than the compilation of the file). By large, .cmt files have been a improvement in my experience. That being said, there is one use of .annot files that I have not been able to port to .cmt files: finding (unsafe) uses of Pervasives.compare or Pervasives.equal in a codebase. My workflow is as follow: - generate the .annot files - grep for Pervasives.( = ) or Pervasives.compare with sufficient context - dismiss all calls that occur on a basic type (typically scalars) - check all remaining calls for an use on an abstract or possible-cyclic type Clearly this process is not exactly efficient, and would be much better handled by a compiler warning -- especially since the compiler would be able to notice type equalities such as t = int coming from the context. So this message must not be understood as a real suggestion to keep .annot file in the end :) -- Caml-list mailing list. Subscription management and archives: https://sympa.inria.fr/sympa/arc/caml-list https://inbox.ocaml.org/caml-list Forum: https://discuss.ocaml.org/ Bug reports: http://caml.inria.fr/bin/caml-bugs