On Sep 23, 2010, at 11:23 PM, Yoann Padioleau wrote:

Hi list,

It is my pleasure to announce pfff_visual, a code visualizer/navigator
for OCaml. Note that this is not a replacement for Emacs or vi, but more a
companion that works with Emacs/Vi.

A demo is available here:
part1: http://www.youtube.com/watch?v=HRZjBGD3osw
part2: http://www.youtube.com/watch?v=993pmNLY_VU

For the people who refuse to vomit while watching a video,
here are a few screenshots of the visualizer applied on the linux
kernel source, the ocaml source, and the source of pfff itself:

http://padator.org/software/pfff/pfff_linux_source.jpg
http://padator.org/software/pfff/pfff_ocaml_source.jpg
http://padator.org/software/pfff/pfff_ocaml_source2.jpg
http://padator.org/software/pfff/pfff_ocaml_source3.jpg
http://padator.org/software/pfff/pfff_pfff_source.jpg

The screenshots can not show the integration with Emacs though.  You'll have
to suffer and watch the videos for that.

If you don't have git, you can still download pfff by following this link:
 http://github.com/facebook/pfff/archives/master


pfff_visual is using pfff, which is mainly an OCaml API to write
static analysis, dynamic analysis, code visualizations, code
navigations, or style-preserving source-to-source transformations such
as refactorings on source code. For now the effort is focused on PHP
but there is preliminary support for Javascript, and C++ code.
There is also preliminary support for OCaml code so that the infrastructure
can be used on the code of pfff itself.

You can get the source of pfff and pfff_visual here:
http://github.com/facebook/pfff

Here is how to install it:
$ git clone git@github.com:facebook/pfff.git
$ ./configure
$ make depend; make; make opt
$ ./pfff_visual /path/to/project/using/supported/languages

pfff has been tested on MacOS and Linux and is licensed under the LGPL.

Thanks to 
- Lex Stein for ocamlbdb
- Olivier Andrieu for ocamlcairo
- Jacques Garrigue for ocamlgtk
- Martin Jambon, Mika Illouz and Gert Stolpmann for lib-json
- Nicolas Canasse for lib-xml
- Jane Street for lib-sexp
- Thomas Gazagnaire for dynType
- Maas-Maarten Zeeman for OUnit.ml
- Thorsten Ohl for xHTML.ml
- Sylvain Conchon, Jean-Christophe Filliātre and Julien Signoles for 
  ocamlgraph
- Xavier Leroy for ocamlmpi
- Markus Mottl for ocamlpcre
- Iain Proctor for ocamlthrift
- Guillaume Cottenceau for pleac


Enjoy.
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs