On Sat, May 9, 2015 at 5:29 AM, stepharo <[email protected]> wrote:

> Eliot
>
> I changed the transcript because it is not thread safe so I could use it
> at all to explain concurrent programming output.
> It was terrible.
>

I don't see what that has to do with my usability point.  The transcript was
a) a stream
b) something that displayed its output immediately

Those two features are essential.  If you change the transcript so that it
no longer has those features you have broken it.

Igor waffled on about internals, the desire to separate the UI from the
stream, a point that has nothing to do with the utility of the transcript.
No you're going on about its thread-safety.  But no one is addressing my
point.  And you have Clément telling you that he cannot develop the VM in
Pharo because the transcript is broken, and you have others proposing
various potentially error-prone work-arounds to get around the fact that
the transcript is broken.

Why won't anyone stand up and say yes, the transcript is broken and yes we
will fix it?  This is dysfunctional.


> Stef
>
>
> Le 8/5/15 16:16, Eliot Miranda a écrit :
>
>  Hi,
>>
>>      if one uses a at doit transcript then no special action is required
>> to get output to appear beyond sending flush to Transcript right?  So any
>> solution that requires special action to get the moronic transcript to work
>> us broken.  We should fix the transcript, not expect every application to
>> work around a bug.
>>
>> Eliot (phone)
>>
>> On May 8, 2015, at 6:15 AM, Alain Rastoul <[email protected]> wrote:
>>
>>  Le 08/05/2015 11:34, stepharo a écrit :
>>>
>>>> Hi guys
>>>>
>>>> the Transcript in Pharo is that it's not asynchronous so I can't use it
>>>> in VM development to show the current progress of the simulation. For
>>>> example:
>>>> 1 to: 100 do: [ :i |
>>>>      0.1 seconds asDelay wait.
>>>>      Transcript show: 'x'. ]
>>>> => on Squeak, this shows a x every 0.1 second in the Transcript
>>>> => on Pharo, nothing happens during 10 seconds then all the x are shown.
>>>>
>>>> https://pharo.fogbugz.com/default.asp?15515
>>>>
>>> Yes, as do it are evaluated in the World morphic process, running in a
>>> forked process or sending World doOneCycle in the loop solve the problem.
>>>
>>> Probably in squeak, in Transcript this is done somewhere under the hood.
>>>
>>> via dependents ?
>>>
>>> TranscriptStream>>endEndtry
>>>     "Display all the characters since the last endEntry, and reset the
>>> stream"
>>>     self semaphore critical:[
>>>         self changed: #appendEntry.
>>>         self reset.
>>>     ].
>>>
>>> Object>>changed: aParameter
>>>     self dependents do: [:aDependent | aDependent update: aParameter]
>>>
>>> And probably not doOnecycle since you cannot do anything else during
>>> execution (clicking or moving windows).
>>>
>>>
>>> --
>>> Regards,
>>>
>>> Alain
>>>
>>>
>>>
>>
>>
>
>


-- 
best,
Eliot

Reply via email to