ANNOUNCE: Graphalyze-0.5 and SourceGraph-0.3

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I've just submitted my thesis this morning (w00t!!!) and as such I'm announcing the latest versions of Graphalyze [1,2] and SourceGraph [3,4], which fix a couple of bugs in the previous versions (these bugs were fixed whilst waiting for my supervisor to finish reading through my draft, and as such I had to re-write bits of my thesis that talked about the limitations of the software :s ). [1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Graphalyze [2] http://code.haskell.org/Graphalyze [3] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SourceGraph [4] http://code.haskell.org/SourceGraph Briefly, SourceGraph is a utility that uses the Graphalyze library to analyse Cabalized Haskell software. Its input/output is rather restrictive at the moment: it takes a single argument, which is the path to a .cabal file, and then produces an HTML report in: <project directory>/SourceGraph/<project name>.html This report contains visualisation of the code for each module, for the imports (similar to what graphmod [5] does) as well as the entire code base. Furthermore, the entire code base is also visualised with functions grouped by the modules they're defined in, as well some simple analyses (such as comparing the export list to what functions are actually roots, similar to the output for top-level functions returned by GHC when using -fwarn-unused-binds). Main changes in Graphalyze since version 0.4: * When writing my thesis, I found some obvious silly mistakes (such as copying the rootsOf function definition to leavesOf, but not changing the function definition). * Images in the document representation are now inline elements. * When using Pandoc [6] for document generation, the size of generated graphs is now customisable on a per-format basis; furthermore, for web pages graph visualisations link to larger versions. Also, graph visualisations can now be created in a sub-directory. Main changes in SourceGraph since version 0.2: * Now uses Cabal 1.6 * Improve visual layout of generated HTML report (still no CSS though). * "Smarter" analysis: don't show trivial analysis results, and when analysing the entire code base don't return cliques, etc. that contain functions all in the same module (as they would have been reported in the per-module section). Note, however, that the parsing limitations for version 0.2 still apply: cpp is still as-yet unsupported (as I'm not sure what I'll do about choosing cpp flags); Template Haskell, HaRP and HXML are still ignored and functions in class declarations/records are still ignored (the former because it's ambiguous which actual function you want, the latter because they're boring :p ). Also, SourceGraph is _still_ not a refactoring tool ;-) If anyone's interested, I'll soon be uploading the final version of my thesis to my blog. Also, if anyone is interested in hacking on any of this, feel free! I'll probably leave it for a while (I'm going to be doing Java coding over summer, blech :s ), but I intend to come back to it later on. - -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkkOcaAACgkQfEfFJ9JhvyjhIwCeM9VXsJeSVK2CdWURJDer6zoA A5YAoIfayHtjpw0qt/gyPZhhhypOwzSh =x+/X -----END PGP SIGNATURE-----

Ivan Lazar Miljenovic
This report contains visualisation of the code for each module, for the imports (similar to what graphmod [5] does) as well as the entire code base.
We cna haz screenshotz? -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.

Achim Schneider
This report contains visualisation of the code for each module, for the imports (similar to what graphmod [5] does) as well as the entire code base.
We cna haz screenshotz?
Well, it's a console app that produces an HTML file, so there's not much to screenshot. If you go to my blog (http://ivanmiljenovic.wordpress.com/), I've uploaded my thesis there, and the appendices include the analyses of Graphalyze and SourceGraph (though since I had to print them to pdf, and then shrink each page to get it to fit it's a bit hard to read).

Ivan Lazar Miljenovic
Achim Schneider
writes: This report contains visualisation of the code for each module, for the imports (similar to what graphmod [5] does) as well as the entire code base.
We cna haz screenshotz?
Well, it's a console app that produces an HTML file, so there's not much to screenshot. If you go to my blog (http://ivanmiljenovic.wordpress.com/), I've uploaded my thesis there, and the appendices include the analyses of Graphalyze and SourceGraph (though since I had to print them to pdf, and then shrink each page to get it to fit it's a bit hard to read).
That's about what I meant with a screenshot. Linking a copy of the html generated for e.g. the Prelude would greatly help people who are just browsing Hackage and are trying to figure out what your package is all about. -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.

Achim Schneider
That's about what I meant with a screenshot. Linking a copy of the html generated for e.g. the Prelude would greatly help people who are just browsing Hackage and are trying to figure out what your package is all about.
Well, I can't do the Prelude (as I said in the original announcement, at the moment SourceGraph only works on cabalized projects, not individual files, etc.), but here's the generated reports for Graphalyze and SouceGraph themselves: http://community.haskell.org/~ivanm/Graphalyze/Graphalyze.html http://community.haskell.org/~ivanm/SourceGraph/SourceGraph.html I hope they give you a sufficient idea of what SourceGraph does.
participants (3)
-
Achim Schneider
-
Ivan Lazar Miljenovic
-
Ivan Lazar Miljenovic