Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1 participants
- 144619 messages
Re: [Pharo-project] How do you extract a superclass if you can't select multiple classes?
by Tim Mackinnon
Well I'm certainly glad that you cared to get the tests back up to
scratch - and it makes our whole community more productive. A big
thanks for this!
I'm just a bit embarrassed that in our community - we keep talking
about how we have these great refactoring tools (that were invented in
smalltalk) - but it looks like in Pharo (and I guess Squeak) - they've
fallen a bit behind in terms of usability.
My scenario is a very frequent one - and it should be possible to do
effortlessly (and I think that the pieces are in place to do it).
Maybe at ESUG we can rally some energy to help support some of these
things (hold an appeal fund... not money - but contributions). I want
to help - I just am not sure how to yet - and sometimes this is partly
my surprise to discover that some of the things I thought already
worked - don't.
Maybe in the show us your projects demo's it might be worth replaying
this scenario and showing how it works in Pharo, and how it works in
Eclipse (and maybe another Smalltalk) - and then showing some of the
features available in the refactoring engine and trying to get support
for improving it. This along with useful keyboard shortcuts are the
things that eat away at the awesome productiveness I've noticed in
other areas.
Tim
On 6 Aug 2010, at 13:03, Lukas Renggli wrote:
> On 6 August 2010 13:04, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
>> Hmmm - (again if you can please be patient with me)... I really am
>> missing
>> something big here?
>>
>> So in my example class X and Y are subclasses of WAComponent -
>> which has
>> tons of subclasses (it could be even worse, they could subclass
>> Object?). So
>> does this mean that I should create my superclass A first?
>>
>> E.g. I create a new subclass of WAComponent, called A. I then make
>> X and Y
>> subclass A. Now I can do the "Refactor Class | Create Subclass"
>> refactoring,
>> and so I have to call it A2 (ultimately I only want A - but if
>> needs must).
>> Then I do get the prompt that you are referring to and can select
>> both X and
>> Y. Finally it just offers to make me class A2 but unlike what I was
>> trying
>> below it doesn't offer to move up any methods or instance
>> variables????
>>
>> So this doesn't work? And furthermore it seem much more convoluted
>> than it
>> should be?
>
> I don't know.
>
> Keep in mind that nobody really cares about OmniBrowser, the
> Refactoring Engine, and all the other development tools. A few years
> ago they were just rotting along, most tests were broken and the
> refactoring code base was on outdated code from the last century. I am
> maintaining these tools because they make me more productive, not
> because it is fun.
>
> I would love to use something as sophisticated as Eclipse, but I don't
> have interest to do that myself. So I just continue to fix and enhance
> what works for me. If somebody else provides something better, I am
> happy to give it a try.
>
> Lukas
>
>> I don't understand why Refactor Class | Create Superclass doesn't
>> prompt me
>> for other peer classes (this is what I want - in fact what I
>> really, really
>> want is to select 2 classes in the first place).
>>
>> Maybe I'm being really stupid, or does no-one use this refactoring
>> in Pharo?
>> It would seem that my scenario is a very common one - so I'm
>> struggling with
>> this. And frustratingly it seems that all the horsepower to do
>> this, is
>> built into the tools but they just don't use them in an intuitive
>> way?
>>
>> Tim
>>
>>
>> On 6 Aug 2010, at 11:18, Lukas Renggli wrote:
>>
>>> Select the superclass of your classes X and Y and perform the
>>> 'create
>>> subclass' refactoring. A dialog asks you to choose the subclasses of
>>> your new class.
>>>
>>> This old website describes most of the refactorings:
>>> http://st-www.cs.illinois.edu/users/brant/Refactory/Refactorings.html
>>> .
>>> There is also a description in the tooltips of the menu actions.
>>>
>>> Lukas
>>>
>>> On 6 August 2010 11:47, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
>>>>
>>>> Hi Lukas - sorry to keep this thread going, but I don't quite
>>>> understand
>>>> what you mean? Partly I think the issue is that over the years I've
>>>> become
>>>> very familiar with the Eclipse/IntelliJ refactorings (and how they
>>>> approach
>>>> things) and I've slowly forgotten how they work in smalltalk
>>>> (although -
>>>> in
>>>> Dolphin they seem to more closely match Eclipse/IntelliJ - adding
>>>> to my
>>>> confusion in Pharo).
>>>>
>>>> To give some context, I had a class X, then I copied it to create
>>>> class Y
>>>> -
>>>> made some changes and got something useful working. However X and
>>>> Y are
>>>> mostly the same - so deserve a superclass. This sounds to me like
>>>> standard
>>>> Refactor Class | Create Superclass refactoring (available in the
>>>> context
>>>> menu). Is this what you are referring to? (And this is a
>>>> seaside30.rc
>>>> image). Is this the create class refactoring you are referring
>>>> to? It
>>>> doesn't sound like it?
>>>>
>>>> The one I am referring to just asks me for a name of a superclass
>>>> and
>>>> shows
>>>> me the method changes it will make (and I can remove those which
>>>> I don't
>>>> deem common) - but they only apply to the single class I ran the
>>>> refactoring
>>>> for - say X. This then leaves me with Y which still needs work.
>>>> I was
>>>> expecting somewhere where it would ask me if there are any other
>>>> classes
>>>> to
>>>> consider for the refactoring (or better still - let me multi-select
>>>> several
>>>> classes before I do the "create superclass" in the first place -
>>>> which
>>>> apparently is very hard in Pharo for some reason?).
>>>>
>>>> So is there some other browser, or menu option that I am missing?
>>>>
>>>> Tim
>>>>
>>>> On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>>>>
>>>>>>> Good point. I've been struggling with multiple selection too
>>>>>>> e.g. when
>>>>>>> setting the refactoring scope. There's an entry called
>>>>>>> "selection..."
>>>>>>> but
>>>>>>> since I've never been able to select more than one item from a
>>>>>>> list,
>>>>>>> selecting "selection..." has the same effect as
>>>>>>> âcategory" (when in a
>>>>>>> category list of course).
>>>>>>
>>>>>> So is there some way of applying a refactoring to more than one
>>>>>> class?
>>>>>> What
>>>>>> is that refactoring scope menu item - is there some way to
>>>>>> specify 2 or
>>>>>> more
>>>>>> classes in there? Why is this so hard?
>>>>>
>>>>> The refactoring scope is something completely different. It
>>>>> selects
>>>>> the part of the system that is considered by a refactoring.
>>>>>
>>>>> Did you ever try to go through the whole create-class
>>>>> refactoring? I
>>>>> get a dialog that offers me to select multiple classes.
>>>>>
>>>>> Lukas
>>>>>
>>>>> --
>>>>> Lukas Renggli
>>>>> www.lukas-renggli.ch
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>>
>>>
>>> --
>>> Lukas Renggli
>>> www.lukas-renggli.ch
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 6, 2010
Re: [Pharo-project] XML Parser, Monticello and unicode?
by Henrik Johansen
On Aug 5, 2010, at 5:37 34PM, Norbert Hartl wrote:
> I'm trying to port the newest XML Parser from squeaksource to gemstone. In XML-Parser-AlexandreBergel.73 there is a unicode test introduced with a longer unicode xml snippet. From this release on I cannot load or merge anything.
>
> Besides that the xml snippet looks very strange it loads in pharo but not in gemstone. Unpacking the mcz on the console and examine the content showed that the encoding is indeed weird. I don't know what it is but it is neither ascii nor utf-8. Pharo loaded the snippet into a WideString instance.
>
> How does monticello handle WideString instances when written to a file?
Rather randomly. ;)
If you merely need to export a package so you can import in gemstone, you could change:
MCMczWriter >> addString: internalString at: path
| member utfConverter utfStringStream|
utfConverter := TextConverter newForEncoding: 'utf8'. "(Or whatever other format Gemstone thinks .mcz definitions will be)"
utfStringStream := RWBinaryOrTextStream on: String new.
utfStringStream binary.
utfConverter class writeBOMOn: utfStringStream.
utfStringStream ascii.
utfConverter nextPutAll: internalString toStream: utfStringStream.
member := zip addString: utfStringStream contents asString as: path.
member desiredCompressionMethod: ZipArchive compressionDeflated
(Alternatively use String new writeStream if you don't need/want to write BOM).
Doing changes like this in the base image is unlikely without further investigation, as it would probably break reading new packages (saved in proper utf8) containing WideStrings into old images.
I haven't read the import code, but if the binary format is preferred by old images if available, it might be a reasonable compromise saving the source in utf8, provided you also include the binary file.
Cheers,
Henry
PS. Another fun fact I encountered when porting Assets:
Monticello uses MethodReference>>source, which kindly converts all LF / CRLFs in your source / strings in the source to CR.
So you can forget f.ex. trying to save arbitrary ByteArrays as strings in your code, and expect them to work the same when converting back to ByteArray after saving to monticello :)
Aug. 6, 2010
Re: [Pharo-project] How do you extract a superclass if you can't select multiple classes?
by Lukas Renggli
On 6 August 2010 13:04, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
> Hmmm - (again if you can please be patient with me)... I really am missing
> something big here?
>
> So in my example class X and Y are subclasses of WAComponent - which has
> tons of subclasses (it could be even worse, they could subclass Object?). So
> does this mean that I should create my superclass A first?
>
> E.g. I create a new subclass of WAComponent, called A. I then make X and Y
> subclass A. Now I can do the "Refactor Class | Create Subclass" refactoring,
> and so I have to call it A2 (ultimately I only want A - but if needs must).
> Then I do get the prompt that you are referring to and can select both X and
> Y. Finally it just offers to make me class A2 but unlike what I was trying
> below it doesn't offer to move up any methods or instance variables????
>
> So this doesn't work? And furthermore it seem much more convoluted than it
> should be?
I don't know.
Keep in mind that nobody really cares about OmniBrowser, the
Refactoring Engine, and all the other development tools. A few years
ago they were just rotting along, most tests were broken and the
refactoring code base was on outdated code from the last century. I am
maintaining these tools because they make me more productive, not
because it is fun.
I would love to use something as sophisticated as Eclipse, but I don't
have interest to do that myself. So I just continue to fix and enhance
what works for me. If somebody else provides something better, I am
happy to give it a try.
Lukas
> I don't understand why Refactor Class | Create Superclass doesn't prompt me
> for other peer classes (this is what I want - in fact what I really, really
> want is to select 2 classes in the first place).
>
> Maybe I'm being really stupid, or does no-one use this refactoring in Pharo?
> It would seem that my scenario is a very common one - so I'm struggling with
> this. And frustratingly it seems that all the horsepower to do this, is
> built into the tools but they just don't use them in an intuitive way?
>
> Tim
>
>
> On 6 Aug 2010, at 11:18, Lukas Renggli wrote:
>
>> Select the superclass of your classes X and Y and perform the 'create
>> subclass' refactoring. A dialog asks you to choose the subclasses of
>> your new class.
>>
>> This old website describes most of the refactorings:
>> http://st-www.cs.illinois.edu/users/brant/Refactory/Refactorings.html.
>> There is also a description in the tooltips of the menu actions.
>>
>> Lukas
>>
>> On 6 August 2010 11:47, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
>>>
>>> Hi Lukas - sorry to keep this thread going, Â but I don't quite understand
>>> what you mean? Partly I think the issue is that over the years I've
>>> become
>>> very familiar with the Eclipse/IntelliJ refactorings (and how they
>>> approach
>>> things) and I've slowly forgotten how they work in smalltalk (although -
>>> in
>>> Dolphin they seem to more closely match Eclipse/IntelliJ - adding to my
>>> confusion in Pharo).
>>>
>>> To give some context, I had a class X, then I copied it to create class Y
>>> -
>>> made some changes and got something useful working. However X and Y are
>>> mostly the same - so deserve a superclass. This sounds to me like
>>> standard
>>> Refactor Class | Create Superclass refactoring (available in the context
>>> menu). Is this what you are referring to? (And this is a seaside30.rc
>>> image). Is this the create class refactoring you are referring to? It
>>> doesn't sound like it?
>>>
>>> The one I am referring to just asks me for a name of a superclass and
>>> shows
>>> me the method changes it will make (and I can remove those which I don't
>>> deem common) - but they only apply to the single class I ran the
>>> refactoring
>>> for - say X. This then leaves me with Y which still needs work. Â I was
>>> expecting somewhere where it would ask me if there are any other classes
>>> to
>>> consider for the refactoring (or better still - let me multi-select
>>> several
>>> classes before I do the "create superclass" in the first place - which
>>> apparently is very hard in Pharo for some reason?).
>>>
>>> So is there some other browser, or menu option that I am missing?
>>>
>>> Tim
>>>
>>> On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>>>
>>>>>> Good point. I've been struggling with multiple selection too e.g. when
>>>>>> setting the refactoring scope. There's an entry called "selection..."
>>>>>> but
>>>>>> since I've never been able to select more than one item from a list,
>>>>>> selecting "selection..." has the same effect as âcategory" (when in a
>>>>>> category list of course).
>>>>>
>>>>> So is there some way of applying a refactoring to more than one class?
>>>>> What
>>>>> is that refactoring scope menu item - is there some way to specify 2 or
>>>>> more
>>>>> classes in there? Why is this so hard?
>>>>
>>>> The refactoring scope is something completely different. It selects
>>>> the part of the system that is considered by a refactoring.
>>>>
>>>> Did you ever try to go through the whole create-class refactoring? I
>>>> get a dialog that offers me to select multiple classes.
>>>>
>>>> Lukas
>>>>
>>>> --
>>>> Lukas Renggli
>>>> www.lukas-renggli.ch
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
--
Lukas Renggli
www.lukas-renggli.ch
Aug. 6, 2010
Re: [Pharo-project] How do you extract a superclass if you can't select multiple classes?
by Max Leske
I agree. From a desing perspective, it's totally contra intutitive that multiple selection isn't possible in the browser. And (at least when comming from other systems) it is even more confusing to have the refactoring browser show an item "selection..." when you weren't able to select more than one item.
I'm not implying that the browser doesn't supply a way to perform the refactorings, only as Tim's and my problems show, I see a problem in the design, an unnessecary one even.
But since I don't know what the plans are for OmniBrowser... Maybe there's already a replacement or update coming along?
Max
On 06.08.2010, at 13:04, Tim Mackinnon wrote:
> Hmmm - (again if you can please be patient with me)... I really am missing something big here?
>
> So in my example class X and Y are subclasses of WAComponent - which has tons of subclasses (it could be even worse, they could subclass Object?). So does this mean that I should create my superclass A first?
>
> E.g. I create a new subclass of WAComponent, called A. I then make X and Y subclass A. Now I can do the "Refactor Class | Create Subclass" refactoring, and so I have to call it A2 (ultimately I only want A - but if needs must). Then I do get the prompt that you are referring to and can select both X and Y. Finally it just offers to make me class A2 but unlike what I was trying below it doesn't offer to move up any methods or instance variables????
>
> So this doesn't work? And furthermore it seem much more convoluted than it should be?
>
> I don't understand why Refactor Class | Create Superclass doesn't prompt me for other peer classes (this is what I want - in fact what I really, really want is to select 2 classes in the first place).
>
> Maybe I'm being really stupid, or does no-one use this refactoring in Pharo? It would seem that my scenario is a very common one - so I'm struggling with this. And frustratingly it seems that all the horsepower to do this, is built into the tools but they just don't use them in an intuitive way?
>
> Tim
>
>
> On 6 Aug 2010, at 11:18, Lukas Renggli wrote:
>
>> Select the superclass of your classes X and Y and perform the 'create
>> subclass' refactoring. A dialog asks you to choose the subclasses of
>> your new class.
>>
>> This old website describes most of the refactorings:
>> http://st-www.cs.illinois.edu/users/brant/Refactory/Refactorings.html.
>> There is also a description in the tooltips of the menu actions.
>>
>> Lukas
>>
>> On 6 August 2010 11:47, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
>>> Hi Lukas - sorry to keep this thread going, but I don't quite understand
>>> what you mean? Partly I think the issue is that over the years I've become
>>> very familiar with the Eclipse/IntelliJ refactorings (and how they approach
>>> things) and I've slowly forgotten how they work in smalltalk (although - in
>>> Dolphin they seem to more closely match Eclipse/IntelliJ - adding to my
>>> confusion in Pharo).
>>>
>>> To give some context, I had a class X, then I copied it to create class Y -
>>> made some changes and got something useful working. However X and Y are
>>> mostly the same - so deserve a superclass. This sounds to me like standard
>>> Refactor Class | Create Superclass refactoring (available in the context
>>> menu). Is this what you are referring to? (And this is a seaside30.rc
>>> image). Is this the create class refactoring you are referring to? It
>>> doesn't sound like it?
>>>
>>> The one I am referring to just asks me for a name of a superclass and shows
>>> me the method changes it will make (and I can remove those which I don't
>>> deem common) - but they only apply to the single class I ran the refactoring
>>> for - say X. This then leaves me with Y which still needs work. I was
>>> expecting somewhere where it would ask me if there are any other classes to
>>> consider for the refactoring (or better still - let me multi-select several
>>> classes before I do the "create superclass" in the first place - which
>>> apparently is very hard in Pharo for some reason?).
>>>
>>> So is there some other browser, or menu option that I am missing?
>>>
>>> Tim
>>>
>>> On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>>>
>>>>>> Good point. I've been struggling with multiple selection too e.g. when
>>>>>> setting the refactoring scope. There's an entry called "selection..."
>>>>>> but
>>>>>> since I've never been able to select more than one item from a list,
>>>>>> selecting "selection..." has the same effect as âcategory" (when in a
>>>>>> category list of course).
>>>>>
>>>>> So is there some way of applying a refactoring to more than one class?
>>>>> What
>>>>> is that refactoring scope menu item - is there some way to specify 2 or
>>>>> more
>>>>> classes in there? Why is this so hard?
>>>>
>>>> The refactoring scope is something completely different. It selects
>>>> the part of the system that is considered by a refactoring.
>>>>
>>>> Did you ever try to go through the whole create-class refactoring? I
>>>> get a dialog that offers me to select multiple classes.
>>>>
>>>> Lukas
>>>>
>>>> --
>>>> Lukas Renggli
>>>> www.lukas-renggli.ch
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 6, 2010
Re: [Pharo-project] How do you extract a superclass if you can't select multiple classes?
by Tim Mackinnon
Hmmm - (again if you can please be patient with me)... I really am
missing something big here?
So in my example class X and Y are subclasses of WAComponent - which
has tons of subclasses (it could be even worse, they could subclass
Object?). So does this mean that I should create my superclass A first?
E.g. I create a new subclass of WAComponent, called A. I then make X
and Y subclass A. Now I can do the "Refactor Class | Create Subclass"
refactoring, and so I have to call it A2 (ultimately I only want A -
but if needs must). Then I do get the prompt that you are referring to
and can select both X and Y. Finally it just offers to make me class
A2 but unlike what I was trying below it doesn't offer to move up any
methods or instance variables????
So this doesn't work? And furthermore it seem much more convoluted
than it should be?
I don't understand why Refactor Class | Create Superclass doesn't
prompt me for other peer classes (this is what I want - in fact what I
really, really want is to select 2 classes in the first place).
Maybe I'm being really stupid, or does no-one use this refactoring in
Pharo? It would seem that my scenario is a very common one - so I'm
struggling with this. And frustratingly it seems that all the
horsepower to do this, is built into the tools but they just don't use
them in an intuitive way?
Tim
On 6 Aug 2010, at 11:18, Lukas Renggli wrote:
> Select the superclass of your classes X and Y and perform the 'create
> subclass' refactoring. A dialog asks you to choose the subclasses of
> your new class.
>
> This old website describes most of the refactorings:
> http://st-www.cs.illinois.edu/users/brant/Refactory/Refactorings.html.
> There is also a description in the tooltips of the menu actions.
>
> Lukas
>
> On 6 August 2010 11:47, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
>> Hi Lukas - sorry to keep this thread going, but I don't quite
>> understand
>> what you mean? Partly I think the issue is that over the years I've
>> become
>> very familiar with the Eclipse/IntelliJ refactorings (and how they
>> approach
>> things) and I've slowly forgotten how they work in smalltalk
>> (although - in
>> Dolphin they seem to more closely match Eclipse/IntelliJ - adding
>> to my
>> confusion in Pharo).
>>
>> To give some context, I had a class X, then I copied it to create
>> class Y -
>> made some changes and got something useful working. However X and Y
>> are
>> mostly the same - so deserve a superclass. This sounds to me like
>> standard
>> Refactor Class | Create Superclass refactoring (available in the
>> context
>> menu). Is this what you are referring to? (And this is a seaside30.rc
>> image). Is this the create class refactoring you are referring to? It
>> doesn't sound like it?
>>
>> The one I am referring to just asks me for a name of a superclass
>> and shows
>> me the method changes it will make (and I can remove those which I
>> don't
>> deem common) - but they only apply to the single class I ran the
>> refactoring
>> for - say X. This then leaves me with Y which still needs work. I
>> was
>> expecting somewhere where it would ask me if there are any other
>> classes to
>> consider for the refactoring (or better still - let me multi-select
>> several
>> classes before I do the "create superclass" in the first place -
>> which
>> apparently is very hard in Pharo for some reason?).
>>
>> So is there some other browser, or menu option that I am missing?
>>
>> Tim
>>
>> On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>>
>>>>> Good point. I've been struggling with multiple selection too
>>>>> e.g. when
>>>>> setting the refactoring scope. There's an entry called
>>>>> "selection..."
>>>>> but
>>>>> since I've never been able to select more than one item from a
>>>>> list,
>>>>> selecting "selection..." has the same effect as âcategory" (when
>>>>> in a
>>>>> category list of course).
>>>>
>>>> So is there some way of applying a refactoring to more than one
>>>> class?
>>>> What
>>>> is that refactoring scope menu item - is there some way to
>>>> specify 2 or
>>>> more
>>>> classes in there? Why is this so hard?
>>>
>>> The refactoring scope is something completely different. It selects
>>> the part of the system that is considered by a refactoring.
>>>
>>> Did you ever try to go through the whole create-class refactoring? I
>>> get a dialog that offers me to select multiple classes.
>>>
>>> Lukas
>>>
>>> --
>>> Lukas Renggli
>>> www.lukas-renggli.ch
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 6, 2010
Re: [Pharo-project] How do you extract a superclass if you can't select multiple classes?
by Lukas Renggli
Select the superclass of your classes X and Y and perform the 'create
subclass' refactoring. A dialog asks you to choose the subclasses of
your new class.
This old website describes most of the refactorings:
http://st-www.cs.illinois.edu/users/brant/Refactory/Refactorings.html.
There is also a description in the tooltips of the menu actions.
Lukas
On 6 August 2010 11:47, Tim Mackinnon <tamackinnon(a)gmail.com> wrote:
> Hi Lukas - sorry to keep this thread going, Â but I don't quite understand
> what you mean? Partly I think the issue is that over the years I've become
> very familiar with the Eclipse/IntelliJ refactorings (and how they approach
> things) and I've slowly forgotten how they work in smalltalk (although - in
> Dolphin they seem to more closely match Eclipse/IntelliJ - adding to my
> confusion in Pharo).
>
> To give some context, I had a class X, then I copied it to create class Y -
> made some changes and got something useful working. However X and Y are
> mostly the same - so deserve a superclass. This sounds to me like standard
> Refactor Class | Create Superclass refactoring (available in the context
> menu). Is this what you are referring to? (And this is a seaside30.rc
> image). Is this the create class refactoring you are referring to? It
> doesn't sound like it?
>
> The one I am referring to just asks me for a name of a superclass and shows
> me the method changes it will make (and I can remove those which I don't
> deem common) - but they only apply to the single class I ran the refactoring
> for - say X. This then leaves me with Y which still needs work. Â I was
> expecting somewhere where it would ask me if there are any other classes to
> consider for the refactoring (or better still - let me multi-select several
> classes before I do the "create superclass" in the first place - which
> apparently is very hard in Pharo for some reason?).
>
> So is there some other browser, or menu option that I am missing?
>
> Tim
>
> On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>
>>>> Good point. I've been struggling with multiple selection too e.g. when
>>>> setting the refactoring scope. There's an entry called "selection..."
>>>> but
>>>> since I've never been able to select more than one item from a list,
>>>> selecting "selection..." has the same effect as âcategory" (when in a
>>>> category list of course).
>>>
>>> So is there some way of applying a refactoring to more than one class?
>>> What
>>> is that refactoring scope menu item - is there some way to specify 2 or
>>> more
>>> classes in there? Why is this so hard?
>>
>> The refactoring scope is something completely different. It selects
>> the part of the system that is considered by a refactoring.
>>
>> Did you ever try to go through the whole create-class refactoring? I
>> get a dialog that offers me to select multiple classes.
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
--
Lukas Renggli
www.lukas-renggli.ch
Aug. 6, 2010
Re: [Pharo-project] How do you extract a superclass if you can't select multiple classes?
by Tim Mackinnon
Hi Lukas - sorry to keep this thread going, but I don't quite
understand what you mean? Partly I think the issue is that over the
years I've become very familiar with the Eclipse/IntelliJ refactorings
(and how they approach things) and I've slowly forgotten how they work
in smalltalk (although - in Dolphin they seem to more closely match
Eclipse/IntelliJ - adding to my confusion in Pharo).
To give some context, I had a class X, then I copied it to create
class Y - made some changes and got something useful working. However
X and Y are mostly the same - so deserve a superclass. This sounds to
me like standard Refactor Class | Create Superclass refactoring
(available in the context menu). Is this what you are referring to?
(And this is a seaside30.rc image). Is this the create class
refactoring you are referring to? It doesn't sound like it?
The one I am referring to just asks me for a name of a superclass and
shows me the method changes it will make (and I can remove those which
I don't deem common) - but they only apply to the single class I ran
the refactoring for - say X. This then leaves me with Y which still
needs work. I was expecting somewhere where it would ask me if there
are any other classes to consider for the refactoring (or better still
- let me multi-select several classes before I do the "create
superclass" in the first place - which apparently is very hard in
Pharo for some reason?).
So is there some other browser, or menu option that I am missing?
Tim
On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>>> Good point. I've been struggling with multiple selection too e.g.
>>> when
>>> setting the refactoring scope. There's an entry called
>>> "selection..." but
>>> since I've never been able to select more than one item from a list,
>>> selecting "selection..." has the same effect as âcategory" (when
>>> in a
>>> category list of course).
>>
>> So is there some way of applying a refactoring to more than one
>> class? What
>> is that refactoring scope menu item - is there some way to specify
>> 2 or more
>> classes in there? Why is this so hard?
>
> The refactoring scope is something completely different. It selects
> the part of the system that is considered by a refactoring.
>
> Did you ever try to go through the whole create-class refactoring? I
> get a dialog that offers me to select multiple classes.
>
> Lukas
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 6, 2010
Re: [Pharo-project] [Sugar-devel] [ANN] DrGeo 10.08
by Bert Freudenberg
On 06.08.2010, at 08:54, Hilaire Fernandes wrote:
> Dear all,
>
> I am please to announce the release 10.08 of the DrGeo activity.
>
> http://blog.ofset.org/hilaire/index.php?post/drgeo-xo-10.08-release
Congratulations!
For people unfamiliar with Squeak, you might want to add a note about how to quit (e.g., not to save when asked).
Also, I had to manually install the bundle. After downloading, Sugar did not recognize it as an activity. I guess your wiki does not serve the right mime type. Uploading to aslo might be better (although it would be nice if Sugar was a little more forgiving).
This is on the OLPC 260py build (Sugar 0.88.1).
- Bert -
Aug. 6, 2010
Re: [Pharo-project] Are the bytecodes correct?
by Marcus Denker
On Aug 6, 2010, at 5:55 AM, James Ladd wrote:
> Hi All,
>
> I asked about primitives earlier and found out that there are quite a few new primitives
> than those listed in the blue book. Very useful.
> See Re: [Pharo-project] Additional Primitives?
>
> This leads me to ask, are all the bytecodes as listed in the blue book or are there
> differences I should know about ?
>
The best is to just check the VM sourcecode.
Marcus
--
Marcus Denker -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.
Aug. 6, 2010
Re: [Pharo-project] Autotest, proof-of-concept [was: About TDD and Pharo]
by laurent laffont
Hi Alex,
Now that I've managed to use Pharo at work (youhou !!) I'm in a case where I
have very long tests (selenium acceptance tests) *and* I want them to run.
Ideally I also want to queue and schedule them (if a test is saved twice in
a queue, run only once and put it in higher position on the queue).
Solutions:
- have to running modes for Autotest (normal and batch)
- tagging
- ?
Laurent
On Mon, Jul 26, 2010 at 8:01 AM, Alexandre Bergel <alexandre(a)bergel.eu>wrote:
> Ideally, we should not tag long tests. The system should be smart enough to
> characterize a test as long. If it takes more than 200ms, then it is long.
> Autotest should then offer me to include long test or not in the automatic
> test execution.
>
> Using tags means that I have to go over each method test and tag them. This
> is a costly effort that is likely to not work in practice.
>
> We have
> -=-=-=-=-=-=-=-=-=-=-=-=
> TestCase class>>newTestDictionary
> ^ Dictionary new at: #timeStamp put: TimeStamp now;
> at: #passed put: Set new;
> at: #failures put: Set new;
> at: #errors put: Set new;
> yourself
> -=-=-=-=-=-=-=-=-=-=-=-=
>
> Maybe it should be extended with
> -=-=-=-=-=-=-=-=-=-=-=-=
> at: #long put: Set new
> -=-=-=-=-=-=-=-=-=-=-=-=
>
> I guess the tweak in SUnit to identify long tests should not be that hard
> to implement.
>
> Cheers,
> Alexandre
>
>
> On 26 Jul 2010, at 07:44, laurent laffont wrote:
>
> >
> > On Sat, Jul 24, 2010 at 10:16 AM, Alexandre Bergel <alexandre(a)bergel.eu>
> wrote:
> > I have been using Autotest for a while already. I greatly reduce the
> window switching. This is cool.
> > However, I have to disable Autotest when the tests take time to execute.
> >
> >
> > An idea is to be able to tag tests with pragmas to put them in
> categories. So we can have a LongRunning category which is not run by
> default. Like NUnit (http://www.nunit.org/index.php?p=category&r=2.2)
> >
> > Then SUnit could be enhanced to show these categories. Useful to quickly
> select all tests related to a project for example; or run only performance
> tests.
> >
> >
> > How would you name the tag ? Where the implementation should go ?
> (TestCase ?)
> >
> >
> > Laurent.
> >
> >
> > Alexandre
> >
> >
> > On 15 Jun 2010, at 21:41, laurent laffont wrote:
> >
> > > Hi Alexandre,
> > >
> > > I've reorganized Autotest to write tests. The tests now run in a thread
> with lower priority. Thanks for feedback.
> > >
> > > Cheers,
> > >
> > > Laurent Laffont
> > >
> > > http://pharocasts.blogspot.com/
> > > http://magaloma.blogspot.com/
> > >
> > >
> > > On Mon, Jun 14, 2010 at 4:52 PM, Alexandre Bergel <alexandre(a)bergel.eu>
> wrote:
> > > Hi Laurent,
> > >
> > > I tried to program while having AutoTest running.
> > > More importantly than the interface, I experienced some problem with
> long executing tests. Basically, these tests should not be executed while I
> am programming. Or at least in a thread of a lesser priority. Am I the only
> one to experience this?
> > >
> > > Cheers,
> > > Alexandre
> > >
> > >
> > > On 11 Jun 2010, at 09:02, laurent laffont wrote:
> > >
> > > > On Fri, Jun 11, 2010 at 2:29 PM, Alexandre Bergel <
> alexandre(a)bergel.eu> wrote:
> > > > Hi Laurent,
> > > >
> > > > I like Autotest. It is true that I always execute the test after
> modifying it.
> > > > There are three horizontal panes. Why so? Is it just to open a
> debugger when necessary?
> > > >
> > > > I want to be able to open a debugger from autotest. I agree the GUI
> is crap now.
> > > >
> > > >
> > > > We could imagine one standalone button instead with a green color to
> say the test I just edited is green, and yellow or red when it fails. In
> that case, clicking on the button open a debugger.
> > > >
> > > > I just feel the window of autotest takes a lot of space in the
> screen, without having a real benefit.
> > > >
> > > > Yes it's true. I'm still thinking on a good GUI. But I'm learning how
> to make GUI now :)
> > > >
> > > > If you look at Autotest package, AutotestView is just the GUI, so we
> can implement several GUI and see the best solution. I need to take the time
> to do it, repository is read / write so feel free to commit :)
> > > >
> > > > What I want to have is a dashboard docked on one side of the screen
> which acts like you're driving a car. It's always visible, you have to be
> able to look quickly at it as when you check the speed of your car, adjust
> your drive, ....
> > > >
> > > > Also another problem with the current version if that if a test
> fails, change it and fails again, you don't see it has run (nothing moves in
> the GUI).
> > > >
> > > > Finally, another problem is that you see that a test has failed, but
> you don't know why (SUnit TestRunner has the same problem). I want to
> display the exception message too.
> > > >
> > > > Thanks a lot for feedback.
> > > >
> > > > Laurent Laffont
> > > >
> > > > http://pharocasts.blogspot.com/
> > > > http://magaloma.blogspot.com/
> > > >
> > > >
> > > >
> > > > Cheers,
> > > > Alexandre
> > > >
> > > >
> > > > On 3 Jun 2010, at 17:11, laurent laffont wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I've written a proof-of-concept for Autotest. Draft/crappy code and
> no tests (exploration mode :) but it loads on PharoCore-1.1-11383-beta
> image.
> > > > >
> > > > > Load it:
> > > > > Gofer new
> > > > > squeaksource: 'Autotest';
> > > > > package: 'Autotest';
> > > > > load
> > > > >
> > > > > Open it:
> > > > > AutotestView open
> > > > > (there's en entry in WorldMenu > Tools)
> > > > >
> > > > > And change a tested method to see the results.
> > > > >
> > > > > There's a bug I need to find, maybe someone knows:
> > > > > - Change Bag>>occurrencesOf:
> > > > > - Autotest gives:
> > > > >
> > > > > 284 run, 281 passes, 0 expected failures, 1 failures, 2 errors, 0
> unexpected passes
> > > > > Failures:
> > > > > CollectionRootTest>>#test0FixtureIterateTest
> > > > >
> > > > > Errors:
> > > > > CollectionRootTest>>#testBasicCollect
> > > > > CollectionRootTest>>#testDoWithout
> > > > >
> > > > > but in SUnit CollectionRootTest gives
> > > > > 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors, 0
> unexpected passes ??
> > > > >
> > > > >
> > > > > Cheers,
> > > > >
> > > > > Laurent Laffont
> > > > >
> > > > > http://pharocasts.blogspot.com/
> > > > > http://magaloma.blogspot.com/
> > > > >
> > > > >
> > > > > On Thu, Jun 3, 2010 at 6:09 PM, Alexandre Bergel <
> alexandre(a)bergel.eu> wrote:
> > > > > The idea is excellent.
> > > > >
> > > > > Cheers,
> > > > > Alexandre
> > > > >
> > > > >
> > > > > On 3 Jun 2010, at 10:22, laurent laffont wrote:
> > > > >
> > > > > >
> > > > > >
> > > > > > On Thu, Jun 3, 2010 at 3:42 PM, Alexandre Bergel <
> alexandre(a)bergel.eu> wrote:
> > > > > > > You may have a lot of noise.
> > > > > > >
> > > > > > > I guess that Ruby uses files as a unit of
> development/deployment. The closest Smalltalk/Pharo has is the class and the
> package.
> > > > > > >
> > > > > > > I would suggest that TestCase which would use this feature use
> some pragma/method to identify/declare which classes/packages this test
> depends upon. Then the "autotest" framework would register such tests and
> listen for changes in the given classes/packages, launching required tests
> whenever a change happen.
> > > > > > >
> > > > > > > Additionally, one could declare such a pragma on a single test
> method, when this test should be run for a specific class.
> > > > > > >
> > > > > > > Of course, you also to take care of long running tests, which
> you probably want to exclude from auto-testing.
> > > > > >
> > > > > > I see autotest in Pharo in a slighly different way: When I press
> save in the Monticello browser, I have a popup menu which asks me whether
> (i) I want to run all the tests or (ii) only the tests that cover that I
> changed from the last version.
> > > > > >
> > > > > > Does this make sense?
> > > > > >
> > > > > > Please no popup :) What I like in ruby autotest is that I can
> quickly look at test results if I want (or not) without stop writing. Often
> you want to see your tests failing, as you type / save code. I don't have to
> stop writing, click a button, wait test results, go again.... testing is
> done in background and I just see notifications whether it's OK or not.
> > > > > >
> > > > > > So test log in a Transcript is OK for me.
> > > > > >
> > > > > >
> > > > > > For autotest unit of work is file: it runs the test file which
> has the same name as the code file, but you can customize this behavior. For
> autotest-rails:
> > > > > > "A simplified version of Autotest heuristics in this mode would
> be:
> > > > > > When changing a test file, only this file is run (e.g.
> test/unit/foo_test.rb âtest/unit/foo_test.rb).
> > > > > > When changing a model file, only associated unit test file is run
> (e.g.app/models/foo.rb â test/unit/foo_test.rb).
> > > > > > When changing a controller file, associated functional test file
> is run (e.g.app/controllers/foo_controller.rb
> âtest/functional/foo_controller_test.rb).
> > > > > > When changing a fixture file, associated unit test and functional
> test are run (e.g.app/fixtures/foos.yml â test/unit/foo_test.rb
> +test/functional/foo_controller_test.rb).
> > > > > > When changing a helper file, associated functional test file is
> run (e.g.app/helpers/foo_helper.rb âtest/functional/foo_controller_test.rb).
> > > > > > When changing application_helper.rb file all functional test
> files are run (e.g.application_helper.rb â test/functional/*_test.rb).
> > > > > > When changing a file under the config directory, all tests are
> run."
> > > > > >
> > > > > > Laurent
> > > > > >
> > > > > >
> > > > > >
> > > > > > Cheers,
> > > > > > Alexandre
> > > > > > --
> > > > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > > > > Alexandre Bergel http://www.bergel.eu
> > > > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > Pharo-project mailing list
> > > > > > Pharo-project(a)lists.gforge.inria.fr
> > > > > >
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > > > > >
> > > > > > _______________________________________________
> > > > > > Pharo-project mailing list
> > > > > > Pharo-project(a)lists.gforge.inria.fr
> > > > > >
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > > > >
> > > > > --
> > > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > > > Alexandre Bergel http://www.bergel.eu
> > > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Pharo-project mailing list
> > > > > Pharo-project(a)lists.gforge.inria.fr
> > > > >
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > > > >
> > > > > _______________________________________________
> > > > > Pharo-project mailing list
> > > > > Pharo-project(a)lists.gforge.inria.fr
> > > > >
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > > >
> > > > --
> > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > > Alexandre Bergel http://www.bergel.eu
> > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Pharo-project mailing list
> > > > Pharo-project(a)lists.gforge.inria.fr
> > > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > > >
> > > > _______________________________________________
> > > > Pharo-project mailing list
> > > > Pharo-project(a)lists.gforge.inria.fr
> > > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Pharo-project mailing list
> > > Pharo-project(a)lists.gforge.inria.fr
> > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> > > _______________________________________________
> > > Pharo-project mailing list
> > > Pharo-project(a)lists.gforge.inria.fr
> > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
> >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project(a)lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project(a)lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Aug. 6, 2010