[Pharo-project] Play and crash

Stéphane Ducasse stephane.ducasse at inria.fr
Thu Apr 14 09:59:33 CEST 2011


Laurent I'm not sure that this it the good way to create classes
If you want a shorter form check how this is done in coral.

Stef

On Apr 13, 2011, at 4:16 PM, laurent laffont wrote:

> This works:
> 
> counter := Class new 
>               superclass: Object; 
>               addInstVarNamed: 'counter'; 
>               compile: 'initialize 
>                            counter := 0';
>               compile: 'counterString 
>                            ^ counter asString';
>               compile: 'increment 
>                            counter := counter + 1. 
>                            self changed:#counterString';
>               compile: 'decrement 
>                            counter := counter - 1. 
>                            self changed:#counterString';
>               new.
> 
> (UITheme builder newColumn: {
>   UITheme builder newLabelFor: counter getLabel: #counterString getEnabled: nil.
>   UITheme builder newRow: {
>     UITheme builder newButtonFor: counter action: #increment label: '+' help: nil.
>     UITheme builder newButtonFor: counter action: #decrement label: '-' help: nil.
>   }
> }) openInWindowLabeled: 'Counter example'.
> 
> 
> 
> This one crashes the VM (tried on PharoOneClick 1.2 OSX, Cog and StackVM):
> 
> (Class new
>   superclass: StringMorph;
>   compile: 'step self contents: Time now printString';
>   new)    
>     openCenteredInWorld 
> 
> 
> 
> Any idea ?
> 
> 
> 
> Laurent Laffont - @lolgzs
> 
> Pharo Smalltalk Screencasts: http://www.pharocasts.com/
> Blog: http://magaloma.blogspot.com/
> Developer group: http://cara74.seasidehosting.st
> 




More information about the Pharo-project mailing list