On Jan 19, 2015, at 1:58 AM, Arnaud Spiwack <aspiwack@lix.polytechnique.fr> wrote: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 someglobal analysis of an ocaml project using the .Mt (generated by ocamlc -bin_annot) and generatesan 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 codeor other errors.On Jan 8, 2015, at 7:50 AM, Ashish Agarwal <agarwal1975@gmail.com> wrote:Maybe Pfff: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