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 <aryx.padator@gmail.com> 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 <agarwal1975@gmail.com> wrote:


On Thu, Jan 8, 2015 at 10:33 AM, Goswin von Brederlow <goswin-v-b@web.de> 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