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
