[Pharo-project] Fwd: Recherche des ingénieurs en développement Smalltalk

2010-08-27 Thread Stéphane Ducasse
reply to y...@gconsept.com


  Original Message 
 Subject:  Recherche des ingénieurs en développement Smalltalk
 Date: Thu, 26 Aug 2010 16:42:27 +0200
 From: Yohan CHOQUER y...@gconsept.com
 To:   herve.ver...@univ-savoie.fr herve.ver...@univ-savoie.fr
 
 
 
 Bonjour Monsieur Verjus,
 
 Je suis à la recherche d’ingénieurs en développement Smalltalk et à la
 lecture de différents forums et sites, je me suis aperçu que vous
 connaissiez bien ce langage.
 
 Peut-être avez-vous dans votre entourage ou relations
 scolaires/professionnelles des personnes pouvant être intéressées par
 cette demande.
 
 N’hésitez pas à revenir vers moi.
 
 Restant à votre disposition,
 
 Cordialement.
 
 * *
 
 *Yohan Choquer*
 
 Ingénieur Commercial
 *___*
 
 GroupeConsept
 
 Informatique - Bureau d'Etudes
 
 Assistance Technique - Conseil - Ingénierie - Formation
 
 ZAC Les Hauts de Couëron, Rue des forgerons,
 
 44220 Couëron, France Plan d'accès
 http://maps.google.fr/maps?f=qhl=frgeocode=q=rue+des+forgerons+44220+cou%C3%ABronsll=47.15984,2.988281sspn=14.049346,26.411133ie=UTF8ll=47.238875,-1.668248spn=0.006847,0.012896z=16iwloc=addr
 Tél : +33 (0)2 51 83 03 00
 
 Mob : +33 (0)6 03 18 60 82
 
 Fax : +33 (0)2 51 83 03 01
 www.gconsept.com http://www.gconsept.com/
 
 *___*
 
 


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [squeak-dev] Experimental Cocoa OS-X based Squeak Cog JIT VM 5.8b3.

2010-08-27 Thread Mariano Martinez Peck
2010/8/27 John M McIntosh john...@smalltalkconsulting.com


 On 2010-08-26, at 11:52 AM, Mariano Martinez Peck wrote:

 A difference I found with Eliot VM and your previous ones is shortcuts.

 In eliot image, to select words, I do shift + ctrl + narrow, or shift +
 command + narrow.

 In yours, I only can do shift + command + narrow.

 And if I do shift + ctrl + narrow the mouse cursos doesn't even move.

 cheer


 What is the 'narrow' key?


sorry I eant arrow, left, right

http://bit.ly/coumEn

thanks



 --
 ===
 John M. McIntosh john...@smalltalkconsulting.com   Twitter:
  squeaker68882
 Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
 ===





 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] 'foo' asTime

2010-08-27 Thread Stéphane Ducasse
johan

thanks
Now get the reflex to create an issue else we get flooded of information.
I will integrate them now.

Stef

On Aug 26, 2010, at 2:34 PM, Johan Brichau wrote:

 
 On 26 Aug 2010, at 04:47, Guillermo Polito wrote:
 
 And now, because of fixing IntegerreadFrom:, 'foo' asTime throws an 
 exception and we all are a bit happier :D.
 
 Indeed. thanks.
 And just to make sure that we keep being happy, I added some unit tests to 
 verify that in the KernelTests package ;-)
 
 Johan
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] About webclient.ppm.73

2010-08-27 Thread stephane ducasse
hi philippe

I wanted to integrate it in 1.2 but I have 5 conflicts. Should I juste load?
Is it for 1.2?

Stef

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] about ValueAdapter

2010-08-27 Thread stephane ducasse
Bill 

I scanned the code.
Could you   
- reformat your code?
put space after : 
align on the first tab
- get some more tests?
- I could not see the class comments but if there are none then please 
adde something.
- did you check the padded printon methods and others?

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [squeak-dev] Experimental Cocoa OS-X based Squeak Cog JIT VM 5.8b3.

2010-08-27 Thread John M McIntosh
That's a bug, well actually apple changed something between 10.5 and 10.6  I've 
a fix pending. 

On 2010-08-27, at 12:42 AM, Mariano Martinez Peck wrote:

 
 
 2010/8/27 John M McIntosh john...@smalltalkconsulting.com
 
 On 2010-08-26, at 11:52 AM, Mariano Martinez Peck wrote:
 
 A difference I found with Eliot VM and your previous ones is shortcuts.
 
 In eliot image, to select words, I do shift + ctrl + narrow, or shift + 
 command + narrow.
 
 In yours, I only can do shift + command + narrow.
 
 And if I do shift + ctrl + narrow the mouse cursos doesn't even move.
 
 cheer
 
 What is the 'narrow' key? 
 
 sorry I eant arrow, left, right 
  
 http://bit.ly/coumEn
 
 thanks
 
 
 
 --
 ===
 John M. McIntosh john...@smalltalkconsulting.com   Twitter:  squeaker68882
 Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
 ===
 
 
 
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 

--
===
John M. McIntosh john...@smalltalkconsulting.com   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===




___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] hasInstanceVariableNamed: hasClassVariableNamed:

2010-08-27 Thread Stéphane Ducasse
what about

ClassDescriptionchooseInstVarThenDo: aBlock 

ClassDescriptionchooseInstVarAlphabeticallyThenDo: aBlock


ClassDescriptionchooseClassVarName 

should I really comment I will fix them.




On Aug 26, 2010, at 4:08 PM, Stéphane Ducasse wrote:

 I tend to agree but not quite :)
 
 Size is not the only criteria.
 Consistency is another really important one.
 And also tested code because there are plenty of methods that are not that 
 difficult to rewrite all the time
 in client code but you want to use them because another guys spent time to 
 write them and test them. 
 And yes I started to read Class and Behavior and I want to clean that. 
 As soon as Opal gets into pharo we will clean, clean, clean.
 
 Stef
 
 
 
 i remember writing a code like:
 class allInstVarNames includes: somevar,
 multiple times,
 but i can't tell that i miss the above methods too much.
 I'd vote to add them, only if we , in exchange, find the other two(or
 more) methods to remove.
 A class protocol is heavily bloated, and adding even more on top of that,
 even if its userful, could be lost in a jungle of many others.
 
 Stef
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [SPAM] About webclient.ppm.73

2010-08-27 Thread Sven Van Caekenberghe
I could have a look, if you tell me where I can find it...

On 27 Aug 2010, at 10:22, stephane ducasse wrote:

 hi philippe
 
 I wanted to integrate it in 1.2 but I have 5 conflicts. Should I juste load?
 Is it for 1.2?
 
 Stef
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] class API question

2010-08-27 Thread Stéphane Ducasse
We are not consistent:

do we want 
renameInstVar:to:
or 
removeInstVarName:
I prefer that.

We have addInstVarName:
- should be addInstVarNamed: from my taste


Now we want to have first class instance variable in the near future so I would 
like to have

addInstVar: aVariable
addInstVarNamed: aString

What do you think?

Stef



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [SPAM] About webclient.ppm.73

2010-08-27 Thread Stéphane Ducasse
this is in the inbox

Stef

On Aug 27, 2010, at 10:47 AM, Sven Van Caekenberghe wrote:

 I could have a look, if you tell me where I can find it...
 
 On 27 Aug 2010, at 10:22, stephane ducasse wrote:
 
 hi philippe
 
 I wanted to integrate it in 1.2 but I have 5 conflicts. Should I juste load?
 Is it for 1.2?
 
 Stef
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] hasInstanceVariableNamed: hasClassVariableNamed:

2010-08-27 Thread Marcus Denker

On Aug 27, 2010, at 10:31 AM, Stéphane Ducasse wrote:

 what about
 
 ClassDescriptionchooseInstVarThenDo: aBlock 
 
 ClassDescriptionchooseInstVarAlphabeticallyThenDo: aBlock
 
 
 ClassDescriptionchooseClassVarName 
 
 should I really comment I will fix them.
 


This should not be in ClassDescription... the only client is SystemNavigation. 


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] hasInstanceVariableNamed: hasClassVariableNamed:

2010-08-27 Thread Stéphane Ducasse
for example 
we have 
addClassVarName:
classVarNamed:
classVarNamed:put:
removeClassVarName:

I will rename 
addClassVarName:
removeClassVarName:

to be 
addClassVarNamed:
removeClassVarNamed:

consistency

Stef

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] class API question

2010-08-27 Thread Marcus Denker

On Aug 27, 2010, at 11:02 AM, Stéphane Ducasse wrote:

 We are not consistent:
 
   do we want 
   renameInstVar:to:
   or 
   removeInstVarName:
   I prefer that.
 
 We have addInstVarName:
   - should be addInstVarNamed: from my taste
 
 
 Now we want to have first class instance variable in the near future so I 
 would like to have
 
   addInstVar: aVariable
   addInstVarNamed: aString
 
 What do you think?
 

Yes!


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Experimental Cocoa OS-X based Squeak Cog JIT VM 5.8b3.

2010-08-27 Thread Sven Van Caekenberghe

On 26 Aug 2010, at 21:44, Sven Van Caekenberghe wrote:

 I hope the linux VM is equally fast.

Is the COG VM capable of running headless on Linux ?

s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak -version
3.9-7 #2 Wed Aug 18 19:45:40 GMT 2010 gcc 4.1.2
Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.26]
Linux cern 2.6.18-194.8.1.el5PAE #1 SMP Fri Jul 2 10:18:13 CEST 2010 i686 i686 
i386 GNU/Linux
plugin path: /home/sven/Smalltalk/coglinux/lib/squeak/3.9-7/ [default: 
/home/sven/Smalltalk/coglinux/lib/squeak/3.9-7/]

s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak -vm-display-null 
-vm-sound-null seaside3.lr.cog.image 

This doesn't seem to work, no errors to be seen anywhere. Can I enable some 
debugging output ?
This same image runs perfectly well with a display, as in 

s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak seaside3.lr.cog.image 

Thx,

Sven


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] hasInstanceVariableNamed: hasClassVariableNamed:

2010-08-27 Thread Henrik Johansen
*Cough* deprecate *cough* ;)

Cheers,
Henry

On Aug 27, 2010, at 10:51 44AM, Stéphane Ducasse wrote:

 for example 
 we have 
   addClassVarName:
   classVarNamed:
   classVarNamed:put:
   removeClassVarName:
 
 I will rename 
   addClassVarName:
   removeClassVarName:
   
 to be 
   addClassVarNamed:
   removeClassVarNamed:
 
 consistency
 
 Stef
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] could we fix MorphicModel

2010-08-27 Thread stephane ducasse
gary?

Do you have surgeon knife?
Because I do not see why slider need to depend on that wonderfully designed 
code.

use: cachedSelector orMakeModelSelectorFor: selectorBody in: selectorBlock
| selector |
model ifNil: [^ nil].
cachedSelector ifNil:
[Make up selector from slotname if any
selector := (slotName ifNil: [selectorBody]
ifNotNil: 
[slotName , selectorBody]) asSymbol.
(model class canUnderstand: selector) ifFalse:
[(self confirm: 'Shall I compile a null 
response for'
, Character cr asString
, model class name , 
'' , selector)
ifFalse: [self halt].
model class compile: (String streamContents:
[:s | selector 
keywords doWithIndex:

[:k :i | s nextPutAll: k , ' arg' , i printString].
s cr; 
nextPutAll: 'Automatically generated null response.'.
s cr; 
nextPutAll: 'Add code below for appropriate behavior...'.])
classified: 'input 
events'
notifying: nil]]
ifNotNil:
[selector := cachedSelector].
^ selectorBlock value: selector
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] class API question

2010-08-27 Thread Stéphane Ducasse
done :)
I could not let that like that.

Stef

On Aug 27, 2010, at 11:11 AM, Marcus Denker wrote:

 
 On Aug 27, 2010, at 11:02 AM, Stéphane Ducasse wrote:
 
 We are not consistent:
 
  do we want 
  renameInstVar:to:
  or 
  removeInstVarName:
  I prefer that.
 
 We have addInstVarName:
  - should be addInstVarNamed: from my taste
 
 
 Now we want to have first class instance variable in the near future so I 
 would like to have
 
  addInstVar: aVariable
  addInstVarNamed: aString
 
 What do you think?
 
 
 Yes!
 
 
 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] hasInstanceVariableNamed: hasClassVariableNamed:

2010-08-27 Thread Stéphane Ducasse
 *Cough* deprecate *cough* ;)

what you got a flu :)

Of course this is done and I would like to have a refactoring called 
renameDeprecate :)
Lukas? :)


Stef

 
 Cheers,
 Henry
 
 On Aug 27, 2010, at 10:51 44AM, Stéphane Ducasse wrote:
 
 for example 
 we have 
  addClassVarName:
  classVarNamed:
  classVarNamed:put:
  removeClassVarName:
 
 I will rename 
  addClassVarName:
  removeClassVarName:
  
 to be 
  addClassVarNamed:
  removeClassVarNamed:
 
 consistency
 
 Stef
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] class API question

2010-08-27 Thread Lukas Renggli
I think it would be beneficial to adapt the protocol of the refactoring browser.

It especially spells out all the names:

#addInstanceVariable:
#allInstanceVariableNames
#instanceVariableNames

Lukas

On 27 August 2010 11:50, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 done :)
 I could not let that like that.

 Stef

 On Aug 27, 2010, at 11:11 AM, Marcus Denker wrote:


 On Aug 27, 2010, at 11:02 AM, Stéphane Ducasse wrote:

 We are not consistent:

      do we want
              renameInstVar:to:
      or
              removeInstVarName:
                      I prefer that.

 We have addInstVarName:
      - should be addInstVarNamed: from my taste


 Now we want to have first class instance variable in the near future so I 
 would like to have

      addInstVar: aVariable
      addInstVarNamed: aString

 What do you think?


 Yes!


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@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@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] class API question

2010-08-27 Thread Jorge Ressia
Yep,

It would be much better to sell out the names.


On Fri, Aug 27, 2010 at 11:53 AM, Lukas Renggli reng...@gmail.com wrote:
 I think it would be beneficial to adapt the protocol of the refactoring 
 browser.

 It especially spells out all the names:

    #addInstanceVariable:
    #allInstanceVariableNames
    #instanceVariableNames

 Lukas

 On 27 August 2010 11:50, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 done :)
 I could not let that like that.

 Stef

 On Aug 27, 2010, at 11:11 AM, Marcus Denker wrote:


 On Aug 27, 2010, at 11:02 AM, Stéphane Ducasse wrote:

 We are not consistent:

      do we want
              renameInstVar:to:
      or
              removeInstVarName:
                      I prefer that.

 We have addInstVarName:
      - should be addInstVarNamed: from my taste


 Now we want to have first class instance variable in the near future so I 
 would like to have

      addInstVar: aVariable
      addInstVarNamed: aString

 What do you think?


 Yes!


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@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@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Jorge Ressia
www.jorgeressia.com

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12115

2010-08-27 Thread Stéphane Ducasse
12115
-

- Issue 2825:   [[true] whileTrue] fork cannot be interrupted. Thanks Henrik 
Johanssen.
- Issue 2860:   make Dictionary at:ifAbsent use ifNil:ifNotNil. Thanks Marcus 
Denker
-  Issue 2570:  Removed implicit conversion of DateAndTime equality-testing 
argument. Thanks Chris Mueller. We will have to address the isKindOf in 
DateAndTime=
- Issue 2873:   adding hasClassVarNamed: hasInstVarNamed: and cleaned the API. 
I feel better - Stephane Ducasse

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] class API question

2010-08-27 Thread Stéphane Ducasse
 I think it would be beneficial to adapt the protocol of the refactoring 
 browser.
 
 It especially spells out all the names:
 
#addInstanceVariable:
#allInstanceVariableNames
#instanceVariableNames
 
 Lukas

I thought about it too but since we will add first class instances variables 
then I preferred to use named: for now
and like that we can have both interfaces in the future for compatibility.

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] 'foo' asTime

2010-08-27 Thread Johan Brichau
err, yes it actually still is this one: 
http://code.google.com/p/pharo/issues/detail?id=2854
:-)

On 27 Aug 2010, at 10:16, Stéphane Ducasse wrote:

 johan
 
 thanks
 Now get the reflex to create an issue else we get flooded of information.
 I will integrate them now.
 
 Stef
 
 On Aug 26, 2010, at 2:34 PM, Johan Brichau wrote:
 
 
 On 26 Aug 2010, at 04:47, Guillermo Polito wrote:
 
 And now, because of fixing IntegerreadFrom:, 'foo' asTime throws an 
 exception and we all are a bit happier :D.
 
 Indeed. thanks.
 And just to make sure that we keep being happy, I added some unit tests to 
 verify that in the KernelTests package ;-)
 
 Johan
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] 'foo' asTime

2010-08-27 Thread Stéphane Ducasse
Ok normally this is integrated now.
On Aug 27, 2010, at 12:11 PM, Johan Brichau wrote:

 err, yes it actually still is this one: 
 http://code.google.com/p/pharo/issues/detail?id=2854
 :-)
 
 On 27 Aug 2010, at 10:16, Stéphane Ducasse wrote:
 
 johan
 
 thanks
 Now get the reflex to create an issue else we get flooded of information.
 I will integrate them now.
 
 Stef
 
 On Aug 26, 2010, at 2:34 PM, Johan Brichau wrote:
 
 
 On 26 Aug 2010, at 04:47, Guillermo Polito wrote:
 
 And now, because of fixing IntegerreadFrom:, 'foo' asTime throws an 
 exception and we all are a bit happier :D.
 
 Indeed. thanks.
 And just to make sure that we keep being happy, I added some unit tests to 
 verify that in the KernelTests package ;-)
 
 Johan
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Sprint at esug

2010-08-27 Thread Noury Bouraqadi

On 26 août 2010, at 16:04, Alexandre Bergel wrote:

 Hi!
 
 I just created an entry in the google site:
 http://code.google.com/p/pharo/wiki/PharoSprints
 
 It is scheduled for Sunday 12, as part of the Camp Smalltalk. 
 
Good! I'll be there :-)

 Please, add yourself if you wish to join.

It seems to require some access rights I don't have.


Noury



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] what about putting RBengine in pharo1.2 core?

2010-08-27 Thread Stéphane Ducasse
marcus like that we do not have to load it all the time.
I could esaily update scriptloader to make sure that we do not save these 
packages.

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] what about putting RBengine in pharo1.2 core?

2010-08-27 Thread Lukas Renggli
I wouldn't pre-load it. There is really no point for many deployed
applications to have it in there.

Lukas

On 27 August 2010 13:33, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 marcus like that we do not have to load it all the time.
 I could esaily update scriptloader to make sure that we do not save these 
 packages.

 Stef
 ___
 Pharo-project mailing list
 Pharo-project@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@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] what about putting RBengine in pharo1.2 core?

2010-08-27 Thread Mariano Martinez Peck
On Fri, Aug 27, 2010 at 1:41 PM, Lukas Renggli reng...@gmail.com wrote:

 I wouldn't pre-load it. There is really no point for many deployed
 applications to have it in there.


You can unload it in #cleanUpForRelease or #cleanUpForProduction.
But I wouldn't pre-load it neither i think (I am not sure)


 Lukas

 On 27 August 2010 13:33, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:
  marcus like that we do not have to load it all the time.
  I could esaily update scriptloader to make sure that we do not save these
 packages.
 
  Stef
  ___
  Pharo-project mailing list
  Pharo-project@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@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] about ValueAdapter

2010-08-27 Thread Schwab,Wilhelm K
Stef,

I generally spend most of my time trying to avoid having the RB do what you are 
describing, but it should be that simple, right?  

As you have noticed, the adapters are very crude, but tests are certainly a 
good idea.  One thing that I miss is a good place to put package comments; I 
tend to write them more than class comments (they not only identify the 
important classes, but which ones to use and how, all in one place - who then 
need class comments?), and then relentlessly comment methods as they evolve.  
That said, I could probably force out a few class comments.

What do you mean by checking padded printOn?  What are they, and how (and for 
what) would I check them?

Bill



From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of stephane ducasse 
[stephane.duca...@free.fr]
Sent: Friday, August 27, 2010 4:28 AM
To: Pharo-project@lists.gforge.inria.fr Development
Subject: [Pharo-project] about ValueAdapter

Bill

I scanned the code.
Could you
- reformat your code?
put space after :
align on the first tab
- get some more tests?
- I could not see the class comments but if there are none then please 
adde something.
- did you check the padded printon methods and others?

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] what about putting RBengine in pharo1.2 core?

2010-08-27 Thread Stéphane Ducasse
sure 

this is just that during the unstable phase we need better tools. We want to 
run SmallLint.
The problem is that generate a new image every 20 min when I integrate and I do 
not want to spend my time load ob and rb.
After we will unload it.
And yes I should work on a configuration of pharo and rebuild the scriptloader 
infrastructure on it :(

Stef

On Aug 27, 2010, at 1:41 PM, Lukas Renggli wrote:

 I wouldn't pre-load it. There is really no point for many deployed
 applications to have it in there.
 
 Lukas
 
 On 27 August 2010 13:33, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 marcus like that we do not have to load it all the time.
 I could esaily update scriptloader to make sure that we do not save these 
 packages.
 
 Stef
 ___
 Pharo-project mailing list
 Pharo-project@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@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] about ValueAdapter

2010-08-27 Thread Stéphane Ducasse
there are a lot of methods to print time and date as well as number and I 
thought that your adaptor would benefit from them.

Stef

On Aug 27, 2010, at 1:49 PM, Schwab,Wilhelm K wrote:

 Stef,
 
 I generally spend most of my time trying to avoid having the RB do what you 
 are describing, but it should be that simple, right?  
 
 As you have noticed, the adapters are very crude, but tests are certainly a 
 good idea.  One thing that I miss is a good place to put package comments; I 
 tend to write them more than class comments (they not only identify the 
 important classes, but which ones to use and how, all in one place - who then 
 need class comments?), and then relentlessly comment methods as they evolve.  
 That said, I could probably force out a few class comments.
 
 What do you mean by checking padded printOn?  What are they, and how (and for 
 what) would I check them?
 
 Bill
 
 
 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of stephane ducasse 
 [stephane.duca...@free.fr]
 Sent: Friday, August 27, 2010 4:28 AM
 To: Pharo-project@lists.gforge.inria.fr Development
 Subject: [Pharo-project] about ValueAdapter
 
 Bill
 
 I scanned the code.
 Could you
- reformat your code?
put space after :
align on the first tab
- get some more tests?
- I could not see the class comments but if there are none then please 
 adde something.
- did you check the padded printon methods and others?
 
 Stef
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12116

2010-08-27 Thread Stéphane Ducasse

12116
-

merging webclient pmm 73

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] About webclient.ppm.73

2010-08-27 Thread Philippe Marschall
On 08/27/2010 10:22 AM, stephane ducasse wrote:
 hi philippe
 
 I wanted to integrate it in 1.2 but I have 5 conflicts. Should I juste load?
 Is it for 1.2?

No, it's not. Do you have WebClient already in 1.2 and are trying to
merge against it? If so I can have a look at it.

Cheers
Philippe


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12116

2010-08-27 Thread Sven Van Caekenberghe

On 27 Aug 2010, at 15:16, Stéphane Ducasse wrote:

 
 12116
 -
 
 merging webclient pmm 73

It seems that every time I upgrade 1.2a using SystemSoftware Update, the 
version of WebClient-Test reverts as well.

As I told you, your (older) version gives more unit test errors ;-)

Sven
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] what about putting RBengine in pharo1.2 core?

2010-08-27 Thread laurent laffont
On Fri, Aug 27, 2010 at 3:06 PM, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:

 sure

 this is just that during the unstable phase we need better tools. We want
 to run SmallLint.
 The problem is that generate a new image every 20 min when I integrate and
 I do not want to spend my time load ob and rb.


Hudson isn't your friend for this ?


Laurent


 After we will unload it.
 And yes I should work on a configuration of pharo and rebuild the
 scriptloader infrastructure on it :(

 Stef

 On Aug 27, 2010, at 1:41 PM, Lukas Renggli wrote:

  I wouldn't pre-load it. There is really no point for many deployed
  applications to have it in there.
 
  Lukas
 
  On 27 August 2010 13:33, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:
  marcus like that we do not have to load it all the time.
  I could esaily update scriptloader to make sure that we do not save
 these packages.
 
  Stef
  ___
  Pharo-project mailing list
  Pharo-project@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@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] about ValueAdapter

2010-08-27 Thread Schwab,Wilhelm K
Stef,

Got it - I thought you might have meant something completely different.  For 
example, I had a really cool #printOn: method that I had to suppress because 
the inspector was parsing the text and changing things as a result - 
aGG! :)

Re other methods in the image.  My goal was to be as data driven (off of the 
format) as possible and to get specific things working quickly.  Mostly the 
latter; I just needed a few types of date and time conversions to work, and to 
work the same way they did when the code ran in Dolphin.

Even if I had looked around, there are always questions: does it work at all, 
does it work well, will it survive the next sprint?  You are doing a wonderful 
job, so please don't take that as anything negative.  Of course, more tests 
will allow you to clean freely and immediately note that something was critical 
to the adpaters.

Another thing to note, we are under the ValueAdapter thread, but dates and 
times really fall under type converters.  Of course, converters and adapters 
often work together.  A model understands #bodyWeight; a text editor 
understands #value, and a converter can sit between them to turn the editor's 
(text) value into a float for the model.  It is nice pluggable/serializable 
stuff that probably makes the most sense in the context of view resources, 
whether they are saved in binary or not.  The 30k ft view is probably to 
encourage composition rather than to force inheritance.  Closures help us.  
Doing our graphics in Smalltalk can help or hurt, because we can freely change 
the widgets as needed, which is both valuable freedom and a crutch that can 
compensate for inflexible design.

Bill



From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse 
[stephane.duca...@inria.fr]
Sent: Friday, August 27, 2010 9:07 AM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] about ValueAdapter

there are a lot of methods to print time and date as well as number and I 
thought that your adaptor would benefit from them.

Stef

On Aug 27, 2010, at 1:49 PM, Schwab,Wilhelm K wrote:

 Stef,

 I generally spend most of my time trying to avoid having the RB do what you 
 are describing, but it should be that simple, right?

 As you have noticed, the adapters are very crude, but tests are certainly a 
 good idea.  One thing that I miss is a good place to put package comments; I 
 tend to write them more than class comments (they not only identify the 
 important classes, but which ones to use and how, all in one place - who then 
 need class comments?), and then relentlessly comment methods as they evolve.  
 That said, I could probably force out a few class comments.

 What do you mean by checking padded printOn?  What are they, and how (and for 
 what) would I check them?

 Bill


 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of stephane ducasse 
 [stephane.duca...@free.fr]
 Sent: Friday, August 27, 2010 4:28 AM
 To: Pharo-project@lists.gforge.inria.fr Development
 Subject: [Pharo-project] about ValueAdapter

 Bill

 I scanned the code.
 Could you
- reformat your code?
put space after :
align on the first tab
- get some more tests?
- I could not see the class comments but if there are none then please 
 adde something.
- did you check the padded printon methods and others?

 Stef
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Levente Uzonyi

On Thu, 26 Aug 2010, Bart Gauquie wrote:


Hi list,

is there a specific reason Stack is extending from LinkedList, instead of
using a LinkedList internally?
To me, it seems that the protocol that LinkedList, SequenceableCollection,
... provides is not the protocol you expect from a Stack?

Any thoughts on this?


Originally it used encapsulation, but for some reason it was changed to 
use inheritance, probably for a cleaner system. IMHO the changes should 
be reverted.



Levente



Kind regards,

Bart

--
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Bart Gauquie
Good thinking, remove Stack then?

On Thu, Aug 26, 2010 at 1:33 PM, Lukas Renggli reng...@gmail.com wrote:

 I wonder why there is the need for a stack class at all?

 OrderedCollection is the class designed to do Stacks and Queues
 efficiently and portably, see #addFirst:, #addLast:, #first, #last,
 #removeFirst, #removeLast.

 Lukas

 2010/8/26 Bart Gauquie bart.gauq...@gmail.com:
  Hi list,
 
  is there a specific reason Stack is extending from LinkedList, instead of
  using a LinkedList internally?
  To me, it seems that the protocol that LinkedList,
 SequenceableCollection,
  ... provides is not the protocol you expect from a Stack?
 
  Any thoughts on this?
 
  Kind regards,
 
  Bart
 
  --
  imagination is more important than knowledge - Albert Einstein
  Logic will get you from A to B. Imagination will take you everywhere -
  Albert Einstein
  Learn from yesterday, live for today, hope for tomorrow. The important
 thing
  is not to stop questioning. - Albert Einstein
  The true sign of intelligence is not knowledge but imagination. - Albert
  Einstein
  However beautiful the strategy, you should occasionally look at the
 results.
  - Sir Winston Churchill
  It's not enough that we do our best; sometimes we have to do what's
  required. - Sir Winston Churchill
 
  ___
  Pharo-project mailing list
  Pharo-project@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@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Guillermo Polito
In my machine:

o := OrderedCollection new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun.   ==  12842

o := LinkedList new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun.   ==  5603


On Fri, Aug 27, 2010 at 1:35 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 26 Aug 2010, Lukas Renggli wrote:

  I wonder why there is the need for a stack class at all?

 OrderedCollection is the class designed to do Stacks and Queues
 efficiently and portably, see #addFirst:, #addLast:, #first, #last,
 #removeFirst, #removeLast.


 If so, then there are some problems:

 o := OrderedCollection new: 1000.
 1 to: 1000 do: [ :each | o add: each ].
 [ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun. ===
 11660


 Levente



 Lukas

 2010/8/26 Bart Gauquie bart.gauq...@gmail.com:

 Hi list,

 is there a specific reason Stack is extending from LinkedList, instead of
 using a LinkedList internally?
 To me, it seems that the protocol that LinkedList,
 SequenceableCollection,
 ... provides is not the protocol you expect from a Stack?

 Any thoughts on this?

 Kind regards,

 Bart

 --
 imagination is more important than knowledge - Albert Einstein
 Logic will get you from A to B. Imagination will take you everywhere -
 Albert Einstein
 Learn from yesterday, live for today, hope for tomorrow. The important
 thing
 is not to stop questioning. - Albert Einstein
 The true sign of intelligence is not knowledge but imagination. - Albert
 Einstein
 However beautiful the strategy, you should occasionally look at the
 results.
 - Sir Winston Churchill
 It's not enough that we do our best; sometimes we have to do what's
 required. - Sir Winston Churchill

 ___
 Pharo-project mailing list
 Pharo-project@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@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Levente Uzonyi

On Thu, 26 Aug 2010, Lukas Renggli wrote:


I wonder why there is the need for a stack class at all?

OrderedCollection is the class designed to do Stacks and Queues
efficiently and portably, see #addFirst:, #addLast:, #first, #last,
#removeFirst, #removeLast.


If so, then there are some problems:

o := OrderedCollection new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun. === 11660


Levente



Lukas

2010/8/26 Bart Gauquie bart.gauq...@gmail.com:

Hi list,

is there a specific reason Stack is extending from LinkedList, instead of
using a LinkedList internally?
To me, it seems that the protocol that LinkedList, SequenceableCollection,
... provides is not the protocol you expect from a Stack?

Any thoughts on this?

Kind regards,

Bart

--
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill

___
Pharo-project mailing list
Pharo-project@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@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Nicolas Cellier
2010/8/27 Levente Uzonyi le...@elte.hu:
 On Thu, 26 Aug 2010, Lukas Renggli wrote:

 I wonder why there is the need for a stack class at all?

 OrderedCollection is the class designed to do Stacks and Queues
 efficiently and portably, see #addFirst:, #addLast:, #first, #last,
 #removeFirst, #removeLast.

 If so, then there are some problems:

 o := OrderedCollection new: 1000.
 1 to: 1000 do: [ :each | o add: each ].
 [ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun. === 11660


 Levente


OrderedCollection could be implemented differently, like for example
having a circular array and maintaining a firstIndex and size instead
of lastIndex.

The main drawback would be that fast copy/replace would have to be
split in two parts.

Nicolas


 Lukas

 2010/8/26 Bart Gauquie bart.gauq...@gmail.com:

 Hi list,

 is there a specific reason Stack is extending from LinkedList, instead of
 using a LinkedList internally?
 To me, it seems that the protocol that LinkedList,
 SequenceableCollection,
 ... provides is not the protocol you expect from a Stack?

 Any thoughts on this?

 Kind regards,

 Bart

 --
 imagination is more important than knowledge - Albert Einstein
 Logic will get you from A to B. Imagination will take you everywhere -
 Albert Einstein
 Learn from yesterday, live for today, hope for tomorrow. The important
 thing
 is not to stop questioning. - Albert Einstein
 The true sign of intelligence is not knowledge but imagination. - Albert
 Einstein
 However beautiful the strategy, you should occasionally look at the
 results.
 - Sir Winston Churchill
 It's not enough that we do our best; sometimes we have to do what's
 required. - Sir Winston Churchill

 ___
 Pharo-project mailing list
 Pharo-project@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@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Levente Uzonyi

On Fri, 27 Aug 2010, Nicolas Cellier wrote:


2010/8/27 Levente Uzonyi le...@elte.hu:

On Thu, 26 Aug 2010, Lukas Renggli wrote:


I wonder why there is the need for a stack class at all?

OrderedCollection is the class designed to do Stacks and Queues
efficiently and portably, see #addFirst:, #addLast:, #first, #last,
#removeFirst, #removeLast.


If so, then there are some problems:

o := OrderedCollection new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun. === 11660


Levente



OrderedCollection could be implemented differently, like for example
having a circular array and maintaining a firstIndex and size instead
of lastIndex.


This issue is already fixed in Squeak 4.1. I tried the OrderedCollection 
with a circular array just like you suggested, but it was a bit slower 
than Squeak's OrderedCollection. Also note that this is an edge case.



Levente



The main drawback would be that fast copy/replace would have to be
split in two parts.

Nicolas



Lukas

2010/8/26 Bart Gauquie bart.gauq...@gmail.com:


Hi list,

is there a specific reason Stack is extending from LinkedList, instead of
using a LinkedList internally?
To me, it seems that the protocol that LinkedList,
SequenceableCollection,
... provides is not the protocol you expect from a Stack?

Any thoughts on this?

Kind regards,

Bart

--
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important
thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the
results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill

___
Pharo-project mailing list
Pharo-project@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@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Levente Uzonyi

On Fri, 27 Aug 2010, Guillermo Polito wrote:


In my machine:

o := OrderedCollection new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun.   ==  12842

o := LinkedList new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun.   ==  5603


LinkedList should be used this way if you want to use it as a Queue:

o := LinkedList new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addLast: o removeFirst ] ] timeToRun. === 119


Levente




On Fri, Aug 27, 2010 at 1:35 PM, Levente Uzonyi le...@elte.hu wrote:


On Thu, 26 Aug 2010, Lukas Renggli wrote:

 I wonder why there is the need for a stack class at all?


OrderedCollection is the class designed to do Stacks and Queues
efficiently and portably, see #addFirst:, #addLast:, #first, #last,
#removeFirst, #removeLast.



If so, then there are some problems:

o := OrderedCollection new: 1000.
1 to: 1000 do: [ :each | o add: each ].
[ 10 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun. ===
11660


Levente




Lukas

2010/8/26 Bart Gauquie bart.gauq...@gmail.com:


Hi list,

is there a specific reason Stack is extending from LinkedList, instead of
using a LinkedList internally?
To me, it seems that the protocol that LinkedList,
SequenceableCollection,
... provides is not the protocol you expect from a Stack?

Any thoughts on this?

Kind regards,

Bart

--
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important
thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the
results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill

___
Pharo-project mailing list
Pharo-project@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@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12118

2010-08-27 Thread Stéphane Ducasse
12118
-

Enhancing method reference with benjamin.

Stef 



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Experimental Cocoa OS-X based Squeak Cog JIT VM 5.8b3.

2010-08-27 Thread Eliot Miranda
On Fri, Aug 27, 2010 at 1:59 AM, Sven Van Caekenberghe s...@beta9.bewrote:


 On 26 Aug 2010, at 21:44, Sven Van Caekenberghe wrote:

  I hope the linux VM is equally fast.

 Is the COG VM capable of running headless on Linux ?


We routinely run it headless on linux using -vm-display-null.


 s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak -version
 3.9-7 #2 Wed Aug 18 19:45:40 GMT 2010 gcc 4.1.2
 Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.26]
 Linux cern 2.6.18-194.8.1.el5PAE #1 SMP Fri Jul 2 10:18:13 CEST 2010 i686
 i686 i386 GNU/Linux
 plugin path: /home/sven/Smalltalk/coglinux/lib/squeak/3.9-7/ [default:
 /home/sven/Smalltalk/coglinux/lib/squeak/3.9-7/]

 s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak -vm-display-null
 -vm-sound-null seaside3.lr.cog.image

 This doesn't seem to work, no errors to be seen anywhere. Can I enable some
 debugging output ?


Try -sendtrace, e.g.
./coglinux/bin/squeak -vm-display-null -vm-sound-null -sendtrace
seaside3.lr.cog.image


 This same image runs perfectly well with a display, as in

 s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak seaside3.lr.cog.image


What does your image do?  Does it depend on any additional plugins or shared
objects?  Are these also present in your Cog installation?

HTH
Eliot


 Thx,

 Sven


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Bart Gauquie
Dear list,

I was showing off Pharo to a colleague today and was surprised that.

My quick introduction of adding new methods on existing system classes

StringfirstLetter
^self copyFrom: 1 to: 1

- extension on String worked immediately. But that:

in the MethodFinder evaluating: 'tried'.'t'
did not return my method I just added  :-(

Turns out that MethodFinder has a class side Set of Approved and
AddAndRemove methods.
What is the rationale of this? Should we not allow any method, but exclude
some tricky ones (doesNotUnderstand:, ... )?

Kind Regards,

Bart
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Running Pharo on a headless Ubuntu server

2010-08-27 Thread Jan van de Sandt
Hello,

When I run squeakvm directly it works! Thanks for the tip.

Jan.

On Thu, Aug 26, 2010 at 11:37 PM, Sven Van Caekenberghe s...@beta9.bewrote:

 Jan,

 On 26 Aug 2010, at 22:42, Jan van de Sandt wrote:

  Hello,
 
  I am trying to run a Pharo Seaside image on an Ubunbtu 10.04 server. When
 I start the image like this
 
  squeak -mmap 256m -vm-sound-null -vm-display-null seaside3.0rc.image
 
  I get the following errors:
 
  found gettext in path
  /srv/seaside
  libasound.so.2: cannot open shared object file: No such file or directory
  squeak: could not find any display driver
  /usr/bin/squeak: line 277:  7499 Aborted $VM $1 $2
 
 
  Does anybody know the minimal set of packages I need to install before I
 can run a headless image?
 
  Jan.

 The command line options are OK and should work.
 You could try running the squeak-vm directly (/usr/bin/squeak is a shell
 script).
 On Ubuntu it is in /usr/lib/squeak/4.0.3-2202/squeakvm (or some other
 version).

 I installed these on Ubuntu 10.04.1, but I am not sure they are needed (I
 just did to get rid of the warnings).

 sudo apt-get install libsm6
 sudo apt-get install libaudio2
 sudo apt-get install libpulse0
 sudo apt-get install libglu1-mesa

 On a server they are not really needed.

 HTH,

 Sven


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Jan van de Sandt
gsm: +31 (0)6 3039 5998
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Marcus Denker

On Aug 27, 2010, at 8:59 PM, Bart Gauquie wrote:

 Dear list,
 
 I was showing off Pharo to a colleague today and was surprised that.
 
 My quick introduction of adding new methods on existing system classes
 
 StringfirstLetter
 ^self copyFrom: 1 to: 1
 
 - extension on String worked immediately. But that:
 
 in the MethodFinder evaluating: 'tried'.'t'
 did not return my method I just added  :-(
 
 Turns out that MethodFinder has a class side Set of Approved and AddAndRemove 
 methods.
 What is the rationale of this? Should we not allow any method, but exclude 
 some tricky ones (doesNotUnderstand:, ... )?
 

The rational is that the MethodFinder would, if it would not have a positive 
list, quite likely call methods that do bad things
to the state of the system. Remember that is just calls all methods to check if 
some leads to the return value that you gave!

e.g.

Smalltalk.true.

takes a while, but it does not try to call #quitPrimitive. Which it would if 
Methodfinder would not be based on a positive list.

It would of course be nice to be able to not need a positive list.
The question of how to control side-effects (and how to realize a secure yet 
reflective language in general) is 
of course a very interesting one... 

Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] About webclient.ppm.73

2010-08-27 Thread Stéphane Ducasse

On Aug 27, 2010, at 3:45 PM, Philippe Marschall wrote:

 On 08/27/2010 10:22 AM, stephane ducasse wrote:
 hi philippe
 
 I wanted to integrate it in 1.2 but I have 5 conflicts. Should I juste load?
 Is it for 1.2?
 
 No, it's not. Do you have WebClient already in 1.2 and are trying to
 merge against it? If so I can have a look at it.

yes we have it in 1.2
and sven merged your changes but it would be great if you can have a look

 
 Cheers
 Philippe
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12116

2010-08-27 Thread Stéphane Ducasse

On Aug 27, 2010, at 3:46 PM, Sven Van Caekenberghe wrote:

 
 On 27 Aug 2010, at 15:16, Stéphane Ducasse wrote:
 
 
 12116
 -
 
 merging webclient pmm 73
 
 It seems that every time I upgrade 1.2a using SystemSoftware Update, the 
 version of WebClient-Test reverts as well.

Strange 
where is the other tests packages?
in the inbox?

 
 As I told you, your (older) version gives more unit test errors ;-)
 
 Sven
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Nicolas Cellier
2010/8/27 Bart Gauquie bart.gauq...@gmail.com:
 Dear list,
 I was showing off Pharo to a colleague today and was surprised that.

 My quick introduction of adding new methods on existing system classes
 StringfirstLetter
 ^self copyFrom: 1 to: 1

 - extension on String worked immediately. But that:
 in the MethodFinder evaluating: 'tried'.'t'
 did not return my method I just added  :-(
 Turns out that MethodFinder has a class side Set of Approved and
 AddAndRemove methods.
 What is the rationale of this? Should we not allow any method, but exclude
 some tricky ones (doesNotUnderstand:, ... )?
 Kind Regards,
 Bart



Suppose you feed MethodFinder with Array and #() just to check whether
#new is found.
Will you be happy after MethodFinder has tried if ever Array
removeFromSystem just wouldn't return #() ?

Nicolas

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] what about putting RBengine in pharo1.2 core?

2010-08-27 Thread Stéphane Ducasse
 
 Hudson isn't your friend for this ?

no when I batch fixes I cannot wait for something that start and can take 15 
min.
I prefer to update often to separate commit for tracebility so speed in making 
new image is important.
It is already so slow.

Stef



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] about ValueAdapter

2010-08-27 Thread Stéphane Ducasse

On Aug 27, 2010, at 4:46 PM, Schwab,Wilhelm K wrote:

 Stef,
 
 Got it - I thought you might have meant something completely different.  For 
 example, I had a really cool #printOn: method that I had to suppress because 
 the inspector was parsing the text and changing things as a result - 
 aGG! :)
 
 Re other methods in the image.  My goal was to be as data driven (off of the 
 format) as possible and to get specific things working quickly.  Mostly the 
 latter; I just needed a few types of date and time conversions to work, and 
 to work the same way they did when the code ran in Dolphin.
 
 Even if I had looked around, there are always questions: does it work at all, 
 does it work well, will it survive the next sprint?

what will survive?


  You are doing a wonderful job, so please don't take that as anything 
 negative.  Of course, more tests will allow you to clean freely and 
 immediately note that something was critical to the adpaters.
 
 Another thing to note, we are under the ValueAdapter thread, but dates and 
 times really fall under type converters.  Of course, converters and adapters 
 often work together.  A model understands #bodyWeight; a text editor 
 understands #value, and a converter can sit between them to turn the editor's 
 (text) value into a float for the model.  It is nice pluggable/serializable 
 stuff that probably makes the most sense in the context of view resources, 
 whether they are saved in binary or not.  The 30k ft view is probably to 
 encourage composition rather than to force inheritance.  Closures help us.  
 Doing our graphics in Smalltalk can help or hurt, because we can freely 
 change the widgets as needed, which is both valuable freedom and a crutch 
 that can compensate for inflexible design.

My suggestion is the following.
Show us that this is cool with a nice example. Code is a good value for not 
native english speakers.

Stef

 
 Bill
 
 
 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse 
 [stephane.duca...@inria.fr]
 Sent: Friday, August 27, 2010 9:07 AM
 To: Pharo-project@lists.gforge.inria.fr
 Subject: Re: [Pharo-project] about ValueAdapter
 
 there are a lot of methods to print time and date as well as number and I 
 thought that your adaptor would benefit from them.
 
 Stef
 
 On Aug 27, 2010, at 1:49 PM, Schwab,Wilhelm K wrote:
 
 Stef,
 
 I generally spend most of my time trying to avoid having the RB do what you 
 are describing, but it should be that simple, right?
 
 As you have noticed, the adapters are very crude, but tests are certainly a 
 good idea.  One thing that I miss is a good place to put package comments; I 
 tend to write them more than class comments (they not only identify the 
 important classes, but which ones to use and how, all in one place - who 
 then need class comments?), and then relentlessly comment methods as they 
 evolve.  That said, I could probably force out a few class comments.
 
 What do you mean by checking padded printOn?  What are they, and how (and 
 for what) would I check them?
 
 Bill
 
 
 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of stephane ducasse 
 [stephane.duca...@free.fr]
 Sent: Friday, August 27, 2010 4:28 AM
 To: Pharo-project@lists.gforge.inria.fr Development
 Subject: [Pharo-project] about ValueAdapter
 
 Bill
 
 I scanned the code.
 Could you
   - reformat your code?
   put space after :
   align on the first tab
   - get some more tests?
   - I could not see the class comments but if there are none then please 
 adde something.
   - did you check the padded printon methods and others?
 
 Stef
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Stéphane Ducasse

On Aug 27, 2010, at 6:32 PM, Levente Uzonyi wrote:

 On Thu, 26 Aug 2010, Bart Gauquie wrote:
 
 Hi list,
 
 is there a specific reason Stack is extending from LinkedList, instead of
 using a LinkedList internally?
 To me, it seems that the protocol that LinkedList, SequenceableCollection,
 ... provides is not the protocol you expect from a Stack?
 
 Any thoughts on this?
 
 Originally it used encapsulation,

when where?

 but for some reason it was changed to use inheritance, probably for a 
 cleaner system. IMHO the changes should be reverted.

I was not aware that Stack was a subclass of linkedList, it looks again 
subclassing versus subtyping. And subtyping is better.

Stef

 
 
 Levente
 
 
 Kind regards,
 
 Bart
 
 -- 
 imagination is more important than knowledge - Albert Einstein
 Logic will get you from A to B. Imagination will take you everywhere -
 Albert Einstein
 Learn from yesterday, live for today, hope for tomorrow. The important thing
 is not to stop questioning. - Albert Einstein
 The true sign of intelligence is not knowledge but imagination. - Albert
 Einstein
 However beautiful the strategy, you should occasionally look at the results.
 - Sir Winston Churchill
 It's not enough that we do our best; sometimes we have to do what's
 required. - Sir Winston Churchill
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Stéphane Ducasse
Now what we should do is probably to get a more dynamic way to tag methods 
because not 
methodFinder has a huge baglog of selectors and it is probably not in sync with 
the system

We were thinking about using pragma to tag methods that should not be executed 
but we need a proof of concept.

Stef

On Aug 27, 2010, at 8:59 PM, Bart Gauquie wrote:

 Dear list,
 
 I was showing off Pharo to a colleague today and was surprised that.
 
 My quick introduction of adding new methods on existing system classes
 
 StringfirstLetter
 ^self copyFrom: 1 to: 1
 
 - extension on String worked immediately. But that:
 
 in the MethodFinder evaluating: 'tried'.'t'
 did not return my method I just added  :-(
 
 Turns out that MethodFinder has a class side Set of Approved and AddAndRemove 
 methods.
 What is the rationale of this? Should we not allow any method, but exclude 
 some tricky ones (doesNotUnderstand:, ... )?
 
 Kind Regards,
 
 Bart
 
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Marcus Denker
 
   Smalltalk.true.
 
 takes a while, but it does not try to call #quitPrimitive. Which it would if 
 Methodfinder would not be based on a positive list.

Ah, and a negative list was I think not used as it is too dangerous wrt. to 
completenes. If the positive list is incomplete, you miss
a hit. If the negative list is incomplete, you woud crash in some nasty way. 

Just look at the lists and how many methods you find that have been removed 
years ago...

It's not just methods like #quitPrimitive. In general, with the image based 
nature you could end up modifying state of objects
in the image by accident, and realize it weeks later.
e.g. this means one would very carefully protect the reflective model, to not 
accidentally modify the methodDictionary, for example.

Marcus


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [update 1.2] #12116

2010-08-27 Thread Sven Van Caekenberghe

On 27 Aug 2010, at 21:19, Stéphane Ducasse wrote:

 Strange 
 where is the other tests packages?
 in the inbox?

No, I mean the latest version in Andreas' WebClient repo.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Eliot Miranda
2010/8/27 Marcus Denker marcus.den...@inria.fr


 On Aug 27, 2010, at 8:59 PM, Bart Gauquie wrote:

 Dear list,

 I was showing off Pharo to a colleague today and was surprised that.

 My quick introduction of adding new methods on existing system classes

 StringfirstLetter
 ^self copyFrom: 1 to: 1

 - extension on String worked immediately. But that:

 in the MethodFinder evaluating: 'tried'.'t'
 did not return my method I just added  :-(

 Turns out that MethodFinder has a class side Set of Approved and
 AddAndRemove methods.
 What is the rationale of this? Should we not allow any method, but exclude
 some tricky ones (doesNotUnderstand:, ... )?


 The rational is that the MethodFinder would, if it would not have a
 positive list, quite likely call methods that do bad things
 to the state of the system. Remember that is just calls all methods to
 check if some leads to the return value that you gave!

 e.g.

 Smalltalk.true.

 takes a while, but it does not try to call #quitPrimitive. Which it would
 if Methodfinder would not be based on a positive list.

 It would of course be nice to be able to not need a positive list.
 The question of how to control side-effects (and how to realize a secure
 yet reflective language in general) is
 of course a very interesting one...


I'd love for someone to try and implement MethodFinder using simulation.  If
one used something based on ContextPart runSimulated: to execute the tests
the simulation could maintain the set of objects that get instantiated as
execution proceeds and only allow writes to these objects.  Any attempt to
write an object outside the set would cause an error and abandon exploring
that alternative.  This *might* be fast enough for use, but the experiment
would show whether this was the case or not.

best
Eliot


 Marcus

 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Eliot Miranda
2010/8/27 Marcus Denker marcus.den...@inria.fr


 Smalltalk.true.

 takes a while, but it does not try to call #quitPrimitive. Which it would
 if Methodfinder would not be based on a positive list.


 Ah, and a negative list was I think not used as it is too dangerous wrt. to
 completenes. If the positive list is incomplete, you miss
 a hit. If the negative list is incomplete, you woud crash in some nasty
 way.

 Just look at the lists and how many methods you find that have been removed
 years ago...

 It's not just methods like #quitPrimitive. In general, with the image based
 nature you could end up modifying state of objects
 in the image by accident, and realize it weeks later.
 e.g. this means one would very carefully protect the reflective model, to
 not accidentally modify the methodDictionary, for example.


So if someone did try my simulation approach above the only lists needed
would be a positive list of those primitives that were safe to apply to any
object and a positive list of those primitives it would be safe to apply to
the objects allocated during the simulation.

best,
Eliot


 Marcus


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Experimental Cocoa OS-X based Squeak Cog JIT VM 5.8b3.

2010-08-27 Thread Sven Van Caekenberghe
It works now: I tried closing all open windows in the image and now it runs 
headless. I thought that wasn't necessary with other VMs but maybe I always did 
so without thinking about it.

Thanks for answering, Eliot.

Sven
 
On 27 Aug 2010, at 20:46, Eliot Miranda wrote:

 On Fri, Aug 27, 2010 at 1:59 AM, Sven Van Caekenberghe s...@beta9.be wrote:
 
 On 26 Aug 2010, at 21:44, Sven Van Caekenberghe wrote:
 
  I hope the linux VM is equally fast.
 
 Is the COG VM capable of running headless on Linux ?
 
 We routinely run it headless on linux using -vm-display-null.
  
 s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak -version
 3.9-7 #2 Wed Aug 18 19:45:40 GMT 2010 gcc 4.1.2
 Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.26]
 Linux cern 2.6.18-194.8.1.el5PAE #1 SMP Fri Jul 2 10:18:13 CEST 2010 i686 
 i686 i386 GNU/Linux
 plugin path: /home/sven/Smalltalk/coglinux/lib/squeak/3.9-7/ [default: 
 /home/sven/Smalltalk/coglinux/lib/squeak/3.9-7/]
 
 s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak -vm-display-null 
 -vm-sound-null seaside3.lr.cog.image
 
 This doesn't seem to work, no errors to be seen anywhere. Can I enable some 
 debugging output ?
 
 Try -sendtrace, e.g.
 ./coglinux/bin/squeak -vm-display-null -vm-sound-null -sendtrace 
 seaside3.lr.cog.image
  
 This same image runs perfectly well with a display, as in
 
 s...@bladerunner:~/Smalltalk$ ./coglinux/bin/squeak seaside3.lr.cog.image
 
 What does your image do?  Does it depend on any additional plugins or shared 
 objects?  Are these also present in your Cog installation?
 
 HTH
 Eliot  
 
 Thx,
 
 Sven


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] could we fix MorphicModel

2010-08-27 Thread Gary Chambers
Indeed, one of the more beautiful bits of Etoys...

Regards, Gary

Sent from my iPad

On 27 Aug 2010, at 10:29, stephane ducasse stephane.duca...@free.fr wrote:

 gary?
 
 Do you have surgeon knife?
 Because I do not see why slider need to depend on that wonderfully designed 
 code.
 
 use: cachedSelector orMakeModelSelectorFor: selectorBody in: selectorBlock
   | selector |
   model ifNil: [^ nil].
   cachedSelector ifNil:
   [Make up selector from slotname if any
   selector := (slotName ifNil: [selectorBody]
   ifNotNil: 
 [slotName , selectorBody]) asSymbol.
   (model class canUnderstand: selector) ifFalse:
   [(self confirm: 'Shall I compile a null 
 response for'
   , Character cr asString
   , model class name , 
 '' , selector)
   ifFalse: [self halt].
   model class compile: (String streamContents:
   [:s | selector 
 keywords doWithIndex:
   
 [:k :i | s nextPutAll: k , ' arg' , i printString].
   s cr; 
 nextPutAll: 'Automatically generated null response.'.
   s cr; 
 nextPutAll: 'Add code below for appropriate behavior...'.])
   classified: 'input 
 events'
   notifying: nil]]
   ifNotNil:
   [selector := cachedSelector].
   ^ selectorBlock value: selector
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Bart Gauquie
Eliot,

I think the simulation path is good suggestion.

Did a quick test for instance on:
ContextPart classtrace: aBlock on: aStream

and modified

^ thisContext sender
runSimulated: aBlock
contextAtEachStep:
  [:current |

  (current receiver == Smalltalk) added
  ifTrue: [self error: 'you cant do this ...']. added

Sensor anyButtonPressed ifTrue: [^ nil].

and then evaluate:
ContextPart trace: ['test' perform: #firstLetter]. = works fine, just
prints the trace,
ContextPart trace: [Smalltalk printString]. = throws the error.

and with a nested piece of code that is also to be illegal :

StringillegalFirstLetter
Smalltalk printString.
^self copyFrom: 1 to: 1

ContextPart trace: ['test' perform: #illegalFirstLetter].  = also throws
the error :-).

Meaning if we keep a negative list of combinations of receiver / or
messages, (instead of just the
(current receiver == Smalltalk) added
  ifTrue: [self error: 'you cant do this ...']. added)

it is possible to throw errors on nested code that is not be executed ... .

Something to try out ...

Kind Regards,

Bart

2010/8/27 Eliot Miranda eliot.mira...@gmail.com



 2010/8/27 Marcus Denker marcus.den...@inria.fr


 Smalltalk.true.

 takes a while, but it does not try to call #quitPrimitive. Which it would
 if Methodfinder would not be based on a positive list.


 Ah, and a negative list was I think not used as it is too dangerous wrt.
 to completenes. If the positive list is incomplete, you miss
 a hit. If the negative list is incomplete, you woud crash in some nasty
 way.

 Just look at the lists and how many methods you find that have been
 removed years ago...

 It's not just methods like #quitPrimitive. In general, with the image
 based nature you could end up modifying state of objects
 in the image by accident, and realize it weeks later.
 e.g. this means one would very carefully protect the reflective model, to
 not accidentally modify the methodDictionary, for example.


 So if someone did try my simulation approach above the only lists needed
 would be a positive list of those primitives that were safe to apply to any
 object and a positive list of those primitives it would be safe to apply to
 the objects allocated during the simulation.

 best,
 Eliot


  Marcus


  --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Stéphane Ducasse
Ok if I understand you mean you interpret everything on the copy of the inputs 
and you run until you either
get an ok primitives or you stop on not ok one.
Could be a nice way to stress runSimulated: :)

Stef


 
 Ah, and a negative list was I think not used as it is too dangerous wrt. to 
 completenes. If the positive list is incomplete, you miss
 a hit. If the negative list is incomplete, you woud crash in some nasty way. 
 
 Just look at the lists and how many methods you find that have been removed 
 years ago...
 
 It's not just methods like #quitPrimitive. In general, with the image based 
 nature you could end up modifying state of objects
 in the image by accident, and realize it weeks later.
 e.g. this means one would very carefully protect the reflective model, to not 
 accidentally modify the methodDictionary, for example.
 
 So if someone did try my simulation approach above the only lists needed 
 would be a positive list of those primitives that were safe to apply to any 
 object and a positive list of those primitives it would be safe to apply to 
 the objects allocated during the simulation.
 
 best,
 Eliot
 
 
   Marcus
 
 
 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12116

2010-08-27 Thread Stéphane Ducasse
Ah ok!
I just took the one in your repo because I was not sure about the other.
I will do that tomorrow.

Stef

On Aug 27, 2010, at 9:36 PM, Sven Van Caekenberghe wrote:

 
 On 27 Aug 2010, at 21:19, Stéphane Ducasse wrote:
 
 Strange 
 where is the other tests packages?
 in the inbox?
 
 No, I mean the latest version in Andreas' WebClient repo.
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Why is Stack extending from LinkedList?

2010-08-27 Thread Levente Uzonyi

On Fri, 27 Aug 2010, Stéphane Ducasse wrote:



On Aug 27, 2010, at 6:32 PM, Levente Uzonyi wrote:


On Thu, 26 Aug 2010, Bart Gauquie wrote:


Hi list,

is there a specific reason Stack is extending from LinkedList, instead of
using a LinkedList internally?
To me, it seems that the protocol that LinkedList, SequenceableCollection,
... provides is not the protocol you expect from a Stack?

Any thoughts on this?


Originally it used encapsulation,


when where?


In Pharo 1.0 (and Squeak of course).


Levente




but for some reason it was changed to use inheritance, probably for a cleaner 
system. IMHO the changes should be reverted.


I was not aware that Stack was a subclass of linkedList, it looks again 
subclassing versus subtyping. And subtyping is better.

Stef




Levente



Kind regards,

Bart

--
imagination is more important than knowledge - Albert Einstein
Logic will get you from A to B. Imagination will take you everywhere -
Albert Einstein
Learn from yesterday, live for today, hope for tomorrow. The important thing
is not to stop questioning. - Albert Einstein
The true sign of intelligence is not knowledge but imagination. - Albert
Einstein
However beautiful the strategy, you should occasionally look at the results.
- Sir Winston Churchill
It's not enough that we do our best; sometimes we have to do what's
required. - Sir Winston Churchill



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] about ValueAdapter

2010-08-27 Thread Schwab,Wilhelm K
Stef,

Re survival, I might have been concerned about possible poor behavior of the 
methods you mention, or that you might soon remove then in cleaning.  I really 
don't remember.

I will indeed present the adapters as part of a larger whole.  That will take 
time to evolve though.  I think some of what we see in Squeak is the result of 
a failure to separate the related problems into pieces with clear 
responsibilities.

Bill



From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse 
[stephane.duca...@inria.fr]
Sent: Friday, August 27, 2010 3:23 PM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] about ValueAdapter

On Aug 27, 2010, at 4:46 PM, Schwab,Wilhelm K wrote:

 Stef,

 Got it - I thought you might have meant something completely different.  For 
 example, I had a really cool #printOn: method that I had to suppress because 
 the inspector was parsing the text and changing things as a result - 
 aGG! :)

 Re other methods in the image.  My goal was to be as data driven (off of the 
 format) as possible and to get specific things working quickly.  Mostly the 
 latter; I just needed a few types of date and time conversions to work, and 
 to work the same way they did when the code ran in Dolphin.

 Even if I had looked around, there are always questions: does it work at all, 
 does it work well, will it survive the next sprint?

what will survive?


  You are doing a wonderful job, so please don't take that as anything 
 negative.  Of course, more tests will allow you to clean freely and 
 immediately note that something was critical to the adpaters.

 Another thing to note, we are under the ValueAdapter thread, but dates and 
 times really fall under type converters.  Of course, converters and adapters 
 often work together.  A model understands #bodyWeight; a text editor 
 understands #value, and a converter can sit between them to turn the editor's 
 (text) value into a float for the model.  It is nice pluggable/serializable 
 stuff that probably makes the most sense in the context of view resources, 
 whether they are saved in binary or not.  The 30k ft view is probably to 
 encourage composition rather than to force inheritance.  Closures help us.  
 Doing our graphics in Smalltalk can help or hurt, because we can freely 
 change the widgets as needed, which is both valuable freedom and a crutch 
 that can compensate for inflexible design.

My suggestion is the following.
Show us that this is cool with a nice example. Code is a good value for not 
native english speakers.

Stef


 Bill


 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse 
 [stephane.duca...@inria.fr]
 Sent: Friday, August 27, 2010 9:07 AM
 To: Pharo-project@lists.gforge.inria.fr
 Subject: Re: [Pharo-project] about ValueAdapter

 there are a lot of methods to print time and date as well as number and I 
 thought that your adaptor would benefit from them.

 Stef

 On Aug 27, 2010, at 1:49 PM, Schwab,Wilhelm K wrote:

 Stef,

 I generally spend most of my time trying to avoid having the RB do what you 
 are describing, but it should be that simple, right?

 As you have noticed, the adapters are very crude, but tests are certainly a 
 good idea.  One thing that I miss is a good place to put package comments; I 
 tend to write them more than class comments (they not only identify the 
 important classes, but which ones to use and how, all in one place - who 
 then need class comments?), and then relentlessly comment methods as they 
 evolve.  That said, I could probably force out a few class comments.

 What do you mean by checking padded printOn?  What are they, and how (and 
 for what) would I check them?

 Bill


 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of stephane ducasse 
 [stephane.duca...@free.fr]
 Sent: Friday, August 27, 2010 4:28 AM
 To: Pharo-project@lists.gforge.inria.fr Development
 Subject: [Pharo-project] about ValueAdapter

 Bill

 I scanned the code.
 Could you
   - reformat your code?
   put space after :
   align on the first tab
   - get some more tests?
   - I could not see the class comments but if there are none then please 
 adde something.
   - did you check the padded printon methods and others?

 Stef
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 

Re: [Pharo-project] Why has MethodFinder a fixed list of results?

2010-08-27 Thread Eliot Miranda
On Fri, Aug 27, 2010 at 1:30 PM, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:

 Ok if I understand you mean you interpret everything on the copy of the
 inputs and you run until you either
 get an ok primitives or you stop on not ok one.


Right, /and/ you stop whenever an attempt is made to write to an object not
created during the simulation.  So one has to trap primitives new, new: 
shallowCopy and collect the results along with the copies of the initial
arguments.  These objects are safe to write to because they were created as
one simulates.  Anything else is an error.

Could be a nice way to stress runSimulated: :)


Interesting to see if this is useful because runSimulated: is probably at
least 100 times slower than executing.


An alternative would be to have an execution primitive that entered a
special mode that did a GC, installed a page fault handler, advanced the
allocation pointer to the next page boundary and then write-protected the
entire heap.  The error handler would unprotect the entire heap and cause a
callback that would raise an exception.  So one would run until a write into
the heap other than to new space.  But this alternative requires lots of VM
work and is super tricky.  Fingers crossed runSimulated: will work :)

cheers
Eliot


 Stef


 
  Ah, and a negative list was I think not used as it is too dangerous wrt.
 to completenes. If the positive list is incomplete, you miss
  a hit. If the negative list is incomplete, you woud crash in some nasty
 way.
 
  Just look at the lists and how many methods you find that have been
 removed years ago...
 
  It's not just methods like #quitPrimitive. In general, with the image
 based nature you could end up modifying state of objects
  in the image by accident, and realize it weeks later.
  e.g. this means one would very carefully protect the reflective model, to
 not accidentally modify the methodDictionary, for example.
 
  So if someone did try my simulation approach above the only lists needed
 would be a positive list of those primitives that were safe to apply to any
 object and a positive list of those primitives it would be safe to apply to
 the objects allocated during the simulation.
 
  best,
  Eliot
 
 
Marcus
 
 
  --
  Marcus Denker  -- http://www.marcusdenker.de
  INRIA Lille -- Nord Europe. Team RMoD.
 
 
  ___
  Pharo-project mailing list
  Pharo-project@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
  ___
  Pharo-project mailing list
  Pharo-project@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project