[IPython-dev] Multiple outputs per input line

Brian Granger ellisonbg at gmail.com
Mon Mar 14 13:10:22 EDT 2011


>>>> I think that would get quite difficult.  Mathematica's notion of
>>>> output is very specific and concrete (they basically trigger a
>>>> displayhook on every assignment).  Our notion of "output" now is very
>>>> dynamic - especially when you mix multiple frontends into the picture.
>>>>
>>>
>>> Remember, we're talking here about the outputs that get produced by
>>> the displayhook, for those we do have numbers we can track (because
>>> they stem from sys.displayhook firing).  You're completely correct
>>> that we can't number display side effects, like print statements or
>>> any of the products of the new display system.  But the return value
>>> of computations, which is what Out[N] contains, we can track.
>>
>> I am a bit confused then.  I thought we had removed the possibility
>> for displayhook to be called more than once per input.  I seem to
>> remember that you removed that when you were working on the input
>> splitter and execution logic last summer.  What am I missing.  I do
>> agree that it is a bit different if we are only talking about the
>> displayhook part of the logic.
>
> Well, if you removed it, it's back. Try it.

I wasn't the one that removed this originally (Fernando did the work
after discussions with Evan and myself), but you are right:

In [2]: for i in range(5):
   ...:     i
   ...:
Out[2]: 0
Out[2]: 1
Out[2]: 2
Out[2]: 3
Out[2]: 4

Is this a deliberate move back to this or an unwanted regression?

Cheers,

Brian



More information about the IPython-dev mailing list