I don't think a pager is the right solution, for the following reasons: 1. typing directly in to the REPL running in a terminal is not an efficient way to program anything nontrivial, most users would use an IDE (incl Emacs) that would allow scrolling and inspection of a value,
2. how many elements to print from large arrays etc could be controlled by something like Common Lisp's *PRINT-LENGTH*, eg see http://clhs.lisp.se/Body/v_pr_lev.htm (sorry if this already exists in Julia, could not find it). Best, Tamas On Thu, May 22 2014, Stefan Karpinski <[email protected]> wrote: > Now that we have native terminal support, it would be a reasonable project > to write a pager in Julia. Why write our own pager (you ask)? Because it > could allow you to do things like efficiently page around a huge array > without having to print the whole thing. You could, e.g., instantly page to > the bottom right of a massive, distributed array, without any lag at all. > Of course, the thing is you want to use shared infrastructure for doing > this kind of data exploration in the terminal, IJulia, and maybe your > editor. But the pager part could be pretty decoupled from that. > > > On Thu, May 22, 2014 at 3:30 PM, Kevin Squire <[email protected]>wrote: > >> Thanks! >> >> >> On Thursday, May 22, 2014 11:52:12 AM UTC-7, Bob Nnamtrop wrote: >> >>> OK done. See https://github.com/JuliaLang/julia/issues/6921 >>> >>> >>> On Thu, May 22, 2014 at 12:20 PM, Kevin Squire <[email protected]>wrote: >>> >>>> I agree that that would be nice. Would you be willing to open up an >>>> issue for this? >>>> >>>> >>>> On Thu, May 22, 2014 at 11:04 AM, Bob Nnamtrop <[email protected]>wrote: >>>> >>>>> I often find myself wishing for a pager in the repl when outputing >>>>> large amount of output. I see that there is a Base.less but it is only >>>>> used >>>>> on files and not for outputting other stuff in the repl. In fact, it would >>>>> be great to have support for less, head, and tail like functionality for >>>>> looking at arrays, hashes, etc. Thus to be able to do: >>>>> >>>>> arr |> less >>>>> or >>>>> less(arr) >>>>> or >>>>> arr |> tail >>>>> >>>>> In addition, I think having the output of show() automatically go >>>>> through less if it longer that one page would be great. I hate seeing >>>>> 100's >>>>> of pages of output fly by when, e.g., a huge hash gets "shown" at the >>>>> prompt (I just cannot seem to get in the habit of typing the ; at the >>>>> right >>>>> time). This behavior could be configurable of course. >>>>> >>>>> Bob >>>>> >>>> >>>> >>>
