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
>>>>>
>>>>
>>>>
>>>

Reply via email to