Hi Doru,

Le 04/10/2014 22:48, Tudor Girba a écrit :
Hi Thierry,

On Sat, Oct 4, 2014 at 6:49 PM, Thierry Goubier
<[email protected] <mailto:[email protected]>> wrote:

    Hi,

    Le 04/10/2014 11:54, Tudor Girba a écrit :

             And now you are starting to have the issue of handling
        slices on GT
             from Pharo: do people have to register on Moose,
        resynchronize on GT
             on Moose, push their slices there, wait for Moose to push a
        slice to
             integrate on Pharo, wait for Pharo to integrate that slice?


        Something like that. Only there is no wait time to integrate in
        Moose as
        GT is a standalone project, and Moose simply integrates the latest
        development version of all its dependencies. So, there is not
        that much
        difference to integrating in Pharo. Once a new stable version of
        GT is
        available, it will automatically be available in Pharo.


    I don't think this is the way to go. It raises an additional barrier
    to contributions to GT, such as:

    A - I tried GTPlayground on Pharo, I had a DNU, here is the issue I
    created.

    A - I pushed a slice with the corrections

    B - In GT development version we decided to go another way. We don't
    need your slice. Please wait for the next stable version and try
    again. Thank you for your contribution.

    A ---

    I'm not sure you'll get another contribution from A after that
    exchange ;)


I do not understand your scenario. How is it any different from the
Pharo integration? If the integrator decides it's not a good fix, it
does not get integrated. There will be barely any delay.

I think you need to reread the exchange. Because Glamour main development is kept separate from Pharo, with a Glamour stable being pushed into Pharo, then you increase the chances that you diverges temporarily the stable Glamour from the one in Pharo. And simply make it costly for someone in Pharo to participate.

I don't think it would cost you much to consider that stable Glamour is the one in Pharo, and that the development one is kept in Moose, with merges of the development Glamour to the stable one in Pharo. You would loose a bit of control on stable Glamour, because any maintainer of Pharo could integrate fixes, in exchange for making it easier for non-Moose users to contribute. Your call :)

             I found that stepping through the opening sequence of GT to
        debug
             MorphTreeMorph a pain and had to find another way to
        understand the
             issue.

        Can you be more specific? What did you try to achieve and did
        not manage?


    I was trying to find out why a MorphTreeMorph would DNU upon
    GTDebugger opening ;)

    I gave up and went blindly into the MorphTreeMorph code instead,
    trying to solve it by luck.


Can you be more specific, please? What did you do to get a DNU?

That was at that occasion: http://moose-dev.97923.n3.nabble.com/debugger-in-the-last-moose-tp4032413p4032415.html


             I do have specific tools I can use in such circumstances
        that you
             don't have.


        What kind of tools? I would be interested in learning about them
        and the
        analysis use cases they support.


    I have a trace tool for those situations (and also for parser work).


What trace tool? Is an example available?

http://lists.gforge.inria.fr/pipermail/pharo-project/2012-July/067679.html

    My original use case was:
    - Finding the bug in an error correction decoding algorithm which
    worked without error, but with non-satisfying results: lower than
    expected SNR.
    - Has then been used very successfully to explain the algorithm.
    - Was then used as the basis for a hardware design methodology by
    dynamic code traces of multithreaded programs

    Other use cases I use it for:
    - Debugging code in Morphic (rectangles, MorphTreeMorph stuff, text
    editor errors) where halt makes the image unusable.
    - Debugging code in Parsers when the code of a reduction is not
    working properly (somewhere deep in the AST).


Is this more than a logger?

Part of it is a logger, to record events.

A second part of it is a code rewriting tool. You give it a method, it adds the code to trace the execution and recompiles the method.

A third part is a viewer which links each recorded event with the expression which generated it in the method.

(The second part could be changed to use the Opal facilities instead of code rewriting. There is probably work to be done on the logger as well: remote logging via RS232, Jtag probes, etc...).

Thierry

Reply via email to