Dear Yoann, Could you give the relevant commands to be used in an ocaml project (in particular, it seems that `scheck -lang ml` fails with "unsuported language") ? On 15 January 2015 at 19:16, yoann padioleau wrote: > Indeed the codegraph tool, part of Pfff, does some > global analysis of an ocaml project using the .Mt (generated by ocamlc > -bin_annot) and generates > an index of a codebase (a graph_code.marshall file). > Not all features of Ocaml are supported though (e.g. functors). > > Once the graph_code.marshall file has been generated, > you can use check, also part of pfff, to detect dead code > or other errors. > > > https://github.com/facebook/pfff/wiki/CodeGraph > https://github.com/facebook/pfff/wiki/Scheck > > > On Jan 8, 2015, at 7:50 AM, Ashish Agarwal wrote: > > Maybe Pfff: > https://github.com/facebook/pfff > > On Thu, Jan 8, 2015 at 10:33 AM, Goswin von Brederlow > wrote: > >> On Thu, Jan 08, 2015 at 02:48:12PM +0100, Stéphane Glondu wrote: >> > Le 08/01/2015 14:31, Sébastien Hinderer a écrit : >> > > Are there tools / techniques one could use to make it easier to >> > > discover / explore the source code of a big OCaml project? >> > > >> > > In particular, are there any tools available to help finding dead >> code >> > > or coe that may need some refactoring? >> > > >> > > Many thanks for any suggestion. >> > >> > One suggestion: http://home.gna.org/oug/index.fr.html >> > >> > >> > Cheers, >> >> That looks cool. But that still needs a lot of manual filtering to get >> results, e.g. to find an unused type or function specified in the >> input signature for a functor. >> >> It could be nice for ocaml to have warnings for this directly. E.g.: >> >> module type M = ssig type t type s val x : int end >> moduel F(M : M) = struct type t = M.t end >> >> Warning: unused value x in signature M for functor F >> Warning: unused type s in signature M for functor F >> >> Similar for types / values defined but not used in .ml files that do >> not appear in the .mli file. >> >> MfG >> Goswin >> >> -- >> Caml-list mailing list. Subscription management and archives: >> https://sympa.inria.fr/sympa/arc/caml-list >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs >> > > >