Hi,

You can force an interrupt by CMD+i or CTRL+i (depending on the  
platform).

Cheers,
Doru


On 20 Jan 2010, at 01:44, Viktor Kerkez wrote:

> Hi,
>
> Since this is my first post on the list, first I want to thank you  
> all for the great job you're doing on Pharo :) It was a real  
> revelation when I discovered it :)
>
> Now to the question:
>
> I'm reading the Pharo by Example, and came to this part:
>
> The problem with deepCopy is that it will not terminate when applied  
> to a mutually recursive structure:
> a1 := { 'harry' }.
> a2 := { a1 }.
> a1 at: 1 put: a2.
> a1 deepCopy −! ... does not terminate!
>
> (Pharo actually get stuck at the step: a1 at: 1 put: a2. but that's  
> not the question :) )
>
> 1. Isn't this behaviour (the complete environment get stuck and  
> there is no way to unfreeze it) considered a bug? I mean the  
> environment shouldn't let you shoot yourself in the foot (at least  
> not so easily). Actually the same behaviour can be created just  
> doing: [true] whileTrue: []...
>
> 2. Shouldn't Pharo recognize recursive structures in some way?
>
>
> I'm asking because I'm coming from a Python world, which is very  
> similar to smalltalk in some manners and I'm trying to make a big  
> picture comparison in my head.
>
> 1. I know that this doesn't really compares to Pharo which is a  
> graphical environment, but in python you can always hit Ctrl-C and  
> break the statements that block...
>
> >>> while True:
> ...     pass
> ...
> ^CTraceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> KeyboardInterrupt
> >>>
>
> Shouldn't the UI thread always be responsive?
>
> 2. And Python recognizes recursive structures:
>
> >>> a = []
> >>> a
> []
> >>> a.append(5
> ...
> KeyboardInterrupt
> >>> a = []
> >>> a
> []
> >>> a.append(5)
> >>> a
> [5]
> >>> a.append(a)
> >>> a
> [5, [...]]
> >>> a[0]
> 5
> >>> a[1]
> [5, [...]]
> >>> a[1][1][1][1][0]
> 5
> >>>
>
>
> Don't get me wrong, I'm not trying to start a language war :) I  
> wouldn't got to page 171 if I'm not really interested in Smalltalk :- 
> D I'm just trying to get a clearer vision if these are some things  
> that are there for some reason (design decision), or they are just  
> not yet implemented, or they cannot be implemented for some other  
> reasons?
>
> Thank you in advance for your time :),
> Viktor
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
www.tudorgirba.com

"Every now and then stop and ask yourself if the war you're fighting  
is the right one."




_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to