Maybe an Emacs script to expand the nodes nicely: <a href="http://www.youtube.com/watch?v=6ofEZQ7XoEA">http://www.youtube.com/watch?v=6ofEZQ7XoEA</a> I don&#39;t find mere pretty printing that useful compared to the “expanding” paradigm I&#39;m used to in Chrome and Firebug.<br>

<br>To try it just M-x eval-buffer on these two files,<br><br><a href="http://www.emacswiki.org/emacs/download/peg.el">http://www.emacswiki.org/emacs/download/peg.el</a><br><a href="https://raw.github.com/chrisdone/haskell-emacs/master/src/hs-show.el">https://raw.github.com/chrisdone/haskell-emacs/master/src/hs-show.el</a><br>

<br>then make some fresh empty buffer with some demo Show output code:<br>
<br>
BinJab 1 (Biny 2 Leaf Leaf) (Binpo 3 Leaf Leaf) (Binamr 3 Leaf (Lalar 3 Leaf Leaf))<br><br>and try, maybe, M-: (hs-show-replace (point-min) (point-max))<br><br>you should get “BinJab”, and then clicking it will give you more until you have: <a href="http://i.imgur.com/a7rvz.png">http://i.imgur.com/a7rvz.png</a><br>

<br>The parser is of course a PEG parser within elisp so it kind of sucks for large data structures (limited by Elisp&#39;s stack, and is super slow). My haskell-emacs package has it in the REPL but I want to replace this parser with a haskell-src-exts→sexp utility to make it faster and more reliable. If anyone wants to replace the parser (and indeed the &quot;shower&quot;) as described, I&#39;d be very happy as this is a Super Nice feature and indispensable in the REPL with “real” data.<br>

<br>Ciao!<br>