On 20 Jan 2010, at 01:57, Schwab,Wilhelm K wrote:

> Try alt (or control)-period
Great :)  CMD-. even works for the UI process when it waits for a signal which 
never will arrive. Very useful to unfreeze the test runner.

Thanks
Stefan

> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Viktor 
> Kerkez
> Sent: Tuesday, January 19, 2010 7:53 PM
> To: [email protected]
> Subject: Re: [Pharo-project] Question on recursive structures
> 
> I tried that first, but it doesn't work :( I'm using Pharo on Linux (Ubuntu).
> 
> On Wed, Jan 20, 2010 at 1:47 AM, Tudor Girba <[email protected]> wrote:
> 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

-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 3956
Fax:   +32 2 629 3525


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

Reply via email to