This portion of haskell-mode (haskell-interactive-mode-eval-pretty) is what the UI for something like this could look like:

https://www.youtube.com/watch?v=pu9AGSOySlE

This isn't an answer to your question, though, because expanding subparts of the output doesn't drive evaluation.  It would be very cool, and quite possible, to have a variant of the Show typeclass that had output with such structured laziness.

Another non-answer is to take a look at using vaccum[0] and vaccum-graphviz[1] together, to get an idea of the heap structure of unforced values.  I've made a gist demonstrating how to use these to visualize the heap without forcing values[2].  This doesn't show any concrete values (as that would require some serious voodoo), but does show how the heap changes due to thunks being forced.

-Michael

[0] http://hackage.haskell.org/package/vacuum
[1] http://hackage.haskell.org/package/vacuum-graphviz
[2] https://gist.github.com/mgsloan/6068915


On Tue, Jul 23, 2013 at 7:30 PM, yi lu <zhiwudazhanjiangshi@gmail.com> wrote:
I am wondering how can I ask ghci to show an infinite list wisely.
When I type

fst ([1..],[1..10])

The result is what as you may guess

1,2,3,4,...(continues to show, cut now)

How could I may ghci show

[1..]

this wise way not the long long long list itself?

Yi

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe