[ANN] Pharo 2.0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
38 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Marcus Denker-4

On Mar 19, 2013, at 3:55 PM, Robert Shiplett <[hidden email]> wrote:

1988 MS QuickHelp ( in what was THEN called QuickHelp ) allowed user annotations in the Help  ;-)    QuickBasic / Quick C with Assembler  
Borland C++ for OS/2 still remains my fave enviro as I could use it for compiling Large DOS programs to be called by Prolog  ( I was PROLOG before Smalltalk ;-)

I will try to remember to post offending snippets if I hit any more of them as I go about with my "Be-A-Neophyte" in the bowels hat/chapeau on my haid ... with a phare on my casque as all good speliologists do it ... ;-) 


You know, it is very hard to fix things if people don't say what is broken…

Marcus


On 19 March 2013 11:33, Sven Van Caekenberghe <[hidden email]> wrote:
Robert,

On 19 Mar 2013, at 13:10, Robert Shiplett <[hidden email]> wrote:

> Could you or someone on team look at the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ?
>
> This has caused emerg in linux x86 on an Atom netbook and Win7 64-bit HoPr Sp1 on an i7 with the 2.0 release ... not the intended result ...
>
> I have the silly idea that in a "base" release of a 2.0 St that any neophyte should be able to trust code 1) to be an exemplar of St best practices 2) not to cause newbie panic [ I well remember my first couple of days with Smalltalk/PM on OS/2 1.3 ( ? surely not OS/2 2.0 ) after being so pleased with MS QuickHelp for MS DOS "Quick C with Assembler" ;-)  ]  ( to loop from '87 Zenith Eazy PC 512k to 2009 Asus EeePC 900A ;-)

Smalltalk is one of the ultimate malleable systems: you can literally change everything, including the whole infrastructure the system is built on. So yes, you can shoot yourself in the foot.

On the other hand, I agree that Pharo should be as stable as possible: the VM should not crash and a proper exception and debugger should always pop up. [ But again, the debugger and exception system are implemented in Smalltalk and you can change/break them ].

Maybe you could provide the actual code snippet ?

Sven

--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill




Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
In all fairness, I DID say

         ' the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ? '



that is all it is - some help notes with 2 code snippets ; both snippets are nasty when used as directed.
Announcements likely will be new to anyone who has not seen Smalltalk for a few years ...

Or no ?

Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Sven Van Caekenberghe-2
In reply to this post by LogiqueWerks
Hi Robert,

The following two work for me in Pharo 2.0

World announcer
                on: WindowOpened
                send: #value
                to: [ Transcript show: 'A new window was opened'; cr ].
               
World announcer
                on: WindowOpened
                send: #value:
                to: [ :announcement |
                        Transcript show: 'A new window was opened ', announcement printString; cr ].

Note the #value and #value: selectors, matching the zero and one argument blocks.

I would guess that opening the Inspector inside the block creates an infinite loop ;-)

Sven

On 19 Mar 2013, at 15:47, Robert Shiplett <[hidden email]> wrote:

> Pharo 2.0
> HelpBrowser Announcements STEP 3
>
> QUOTE:
>
> In Pharo there is a global called "World" pointing to the desktop morph. This world also has an announcer we can use to demonstrate the features of the framework:
>
> | announcer |
> World announcer
> on: WindowOpened
> send: #value
> to: [ Transcript show: 'A new window was opened';cr].
>
> So anytime a window is opened in the system a message is shown in the transcript:
>
> Transcript open.
>
> | announcer |
> World announcer
> on: WindowOpened
> send: #value
> to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
Folks,

How is the neophyte to be warned that DO IT will be fine, but INSPECT IT will be nasty ?

I see nothing to suggest to the user of that bit of HELP to be wary of using that code in a workspace ...

What puzzles me is that I was using CTRK-C then CTRL-D ( habit ? ) ... but I also had installed Prof Stef ... and had made the HelpBrowser UNCLOSABLE and SecondFromTop ... it failed pronto when I came to Pharo on this Win7 after it failed in Precise Puppy Linux 4.5  ( the linux netbook is with Japanese books on a big work table outside this little office but I recall steps as Start, load Prof Stef, walk thru some Stef steps; open Sys Browser, go to Announcements, open HelpBrowser )

error handling fails BUT  recovery is about 3 steps (CR, exit, abort debugger ) so that much is Very good ...

friend among friendly folks,

R
Canada





On 19 March 2013 12:07, Sven Van Caekenberghe <[hidden email]> wrote:
Hi Robert,

The following two work for me in Pharo 2.0

World announcer
                on: WindowOpened
                send: #value
                to: [ Transcript show: 'A new window was opened'; cr ].

World announcer
                on: WindowOpened
                send: #value:
                to: [ :announcement |
                        Transcript show: 'A new window was opened ', announcement printString; cr ].

Note the #value and #value: selectors, matching the zero and one argument blocks.

I would guess that opening the Inspector inside the block creates an infinite loop ;-)

Sven

On 19 Mar 2013, at 15:47, Robert Shiplett <[hidden email]> wrote:

> Pharo 2.0
> HelpBrowser Announcements STEP 3
>
> QUOTE:
>
> In Pharo there is a global called "World" pointing to the desktop morph. This world also has an announcer we can use to demonstrate the features of the framework:
>
>       | announcer |
>       World announcer
>               on: WindowOpened
>               send: #value
>               to: [ Transcript show: 'A new window was opened';cr].
>
> So anytime a window is opened in the system a message is shown in the transcript:
>
>       Transcript open.
>
>       | announcer |
>       World announcer
>               on: WindowOpened
>               send: #value
>               to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
>
>



Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
In reply to this post by Sven Van Caekenberghe-2
*** System error handling failed ***

cannot copy, so screenshot must do ?

Inline images 1


A friendly place where any question about pharo is welcome ... 


error-handling-failed.jpg (191K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Camillo Bruni-3
can you please print
        SystemVersion current
and
        Smalltalk vm version

and that happens after running what exactly?
the example from sven or your original example?


On 2013-03-19, at 16:29, Robert Shiplett <[hidden email]> wrote:

> *** System error handling failed ***
>
> cannot copy, so screenshot must do ?
>
> <error-handling-failed.jpg>
>
>
> A friendly place where any question about pharo is welcome ...
>
> <error-handling-failed.jpg>


Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
sure thing ...

SystemVersion current.   Pharo2.0 of 7 March 2013 update 20593

Smalltalk vm version.    'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <[hidden email]> Jenkins build #14535




On 19 March 2013 12:33, Camillo Bruni <[hidden email]> wrote:
can you please print
        SystemVersion current
and
        Smalltalk vm version

and that happens after running what exactly?
the example from sven or your original example?


On 2013-03-19, at 16:29, Robert Shiplett <[hidden email]> wrote:

> *** System error handling failed ***
>
> cannot copy, so screenshot must do ?
>
> <error-handling-failed.jpg>
>
>
> A friendly place where any question about pharo is welcome ...
>
> <error-handling-failed.jpg>



Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
In reply to this post by Camillo Bruni-3

You are not allowed to post to this mailing list, and your message has
been automatically rejected.  If you think that your messages are
being rejected in error, contact the mailing list owner at
[hidden email].


I get this today ... but I can Post by REPLY here in my email ... 

Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Camillo Bruni-3

On 2013-03-19, at 16:41, Robert Shiplett <[hidden email]> wrote:

> You are not allowed to post to this mailing list, and your message has
> been automatically rejected.  If you think that your messages are
> being rejected in error, contact the mailing list owner at
> [hidden email].
>
>
> I get this today ... but I can Post by REPLY here in my email ...

not the same mailing list:

pharo-project: dev mailing list
pharo-users:   user mailing list

Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Sven Van Caekenberghe-2
In reply to this post by LogiqueWerks

On 19 Mar 2013, at 16:22, Robert Shiplett <[hidden email]> wrote:

> How is the neophyte to be warned that DO IT will be fine, but INSPECT IT will be nasty ?

Read my mail again: you simply created an infinite loop (opening a new window triggers your code, your code opens an inspector, which triggers your code, …).

Yes, it would be nice if stack overflow was handled as an exception, we are just not there yet.

Infinite loops are problematic everywhere.

BTW: the essence of your bug report _is_ valid: there should not be an emergency evaluator.

Sven

--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill


Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Camillo Bruni-3
In reply to this post by LogiqueWerks

On 2013-03-19, at 16:39, Robert Shiplett <[hidden email]> wrote:

> sure thing ...
>
> SystemVersion current.   Pharo2.0 of 7 March 2013 update 20593
>
> Smalltalk vm version.    'NBCoInterpreter
> NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
> a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
> a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> git://gitorious.org/cogvm/blessed.git Commit:
> 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100
> By: Esteban Lorenzano <[hidden email]> Jenkins build #14535

ok looks fine :), however there is a slightly newer pharo version out: 20593
so you might want to update your image first.

and what code did you run exactly?


> On 19 March 2013 12:33, Camillo Bruni <[hidden email]> wrote:
>
>> can you please print
>>        SystemVersion current
>> and
>>        Smalltalk vm version
>>
>> and that happens after running what exactly?
>> the example from sven or your original example?
>>
>>
>> On 2013-03-19, at 16:29, Robert Shiplett <[hidden email]> wrote:
>>
>>> *** System error handling failed ***
>>>
>>> cannot copy, so screenshot must do ?
>>>
>>> <error-handling-failed.jpg>
>>>
>>>
>>> A friendly place where any question about pharo is welcome ...
>>>
>>> <error-handling-failed.jpg>
>>
>>
>>


Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Sven Van Caekenberghe

On 19 Mar 2013, at 16:45, Camillo Bruni <[hidden email]> wrote:

>
> On 2013-03-19, at 16:39, Robert Shiplett <[hidden email]> wrote:
>
>> sure thing ...
>>
>> SystemVersion current.   Pharo2.0 of 7 March 2013 update 20593
>>
>> Smalltalk vm version.    'NBCoInterpreter
>> NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
>> a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
>> NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
>> a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
>> git://gitorious.org/cogvm/blessed.git Commit:
>> 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100
>> By: Esteban Lorenzano <[hidden email]> Jenkins build #14535
>
> ok looks fine :), however there is a slightly newer pharo version out: 20593
> so you might want to update your image first.
>
> and what code did you run exactly?

He does not run

World announcer
                on: WindowOpened
                send: #value:
                to: [ :announcement |
                        Transcript show: 'A new window was opened ', announcement printString; cr ].

but

World announcer
                on: WindowOpened
                send: #value
                to: [ :announcement |
                        Transcript show: 'A new window was opened ', announcement printString; cr ].

(different selector).

Adding the opening of the inspector creates an infinite loop which is a different story.

>> On 19 March 2013 12:33, Camillo Bruni <[hidden email]> wrote:
>>
>>> can you please print
>>>       SystemVersion current
>>> and
>>>       Smalltalk vm version
>>>
>>> and that happens after running what exactly?
>>> the example from sven or your original example?
>>>
>>>
>>> On 2013-03-19, at 16:29, Robert Shiplett <[hidden email]> wrote:
>>>
>>>> *** System error handling failed ***
>>>>
>>>> cannot copy, so screenshot must do ?
>>>>
>>>> <error-handling-failed.jpg>
>>>>
>>>>
>>>> A friendly place where any question about pharo is welcome ...
>>>>
>>>> <error-handling-failed.jpg>
>>>
>>>
>>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
In reply to this post by Camillo Bruni-3
"RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D 

It is not "my code" ... it is just a snippet in the HelpBrowser for the Announcements in 'Tutorial' | 'Step 3 More examples' 

and I believe that all I ran in the workspace was the 

| announcer |
World announcer 
on: WindowOpened 
send: #value 
to: [ Transcript show: 'A new window was opened';cr].



but that runs fine as expected ... so now I will try to re-create ... I had no reason to run an Inspect 

Btw, I happily unzipped the images only yesterday ... :-)

HOWEVER, I am fighting a motor-neural degen disease and may have done a 'double D' in that CTRL-D so I will follow that possibility ... reversed letters between left and right hand while typing is my current plague ... old age must be SUCH FUN for many people except my sefl ;-) 







On 19 March 2013 12:45, Camillo Bruni <[hidden email]> wrote:

On 2013-03-19, at 16:39, Robert Shiplett <[hidden email]> wrote:

> sure thing ...
>
> SystemVersion current.   Pharo2.0 of 7 March 2013 update 20593
>
> Smalltalk vm version.    'NBCoInterpreter
> NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
> a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
> a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> git://gitorious.org/cogvm/blessed.git Commit:
> 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100
> By: Esteban Lorenzano <[hidden email]> Jenkins build #14535

ok looks fine :), however there is a slightly newer pharo version out: 20593
so you might want to update your image first.

and what code did you run exactly?


> On 19 March 2013 12:33, Camillo Bruni <[hidden email]> wrote:
>
>> can you please print
>>        SystemVersion current
>> and
>>        Smalltalk vm version
>>
>> and that happens after running what exactly?
>> the example from sven or your original example?
>>
>>
>> On 2013-03-19, at 16:29, Robert Shiplett <[hidden email]> wrote:
>>
>>> *** System error handling failed ***
>>>
>>> cannot copy, so screenshot must do ?
>>>
>>> <error-handling-failed.jpg>
>>>
>>>
>>> A friendly place where any question about pharo is welcome ...
>>>
>>> <error-handling-failed.jpg>
>>
>>
>>



Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Camillo Bruni-3
In reply to this post by Sven Van Caekenberghe
>>
> World announcer
> on: WindowOpened
> send: #value
> to: [ :announcement |
> Transcript show: 'A new window was opened ', announcement printString; cr ].
>
> (different selector).

thanks, I wasn't sure about that :), still strange though that the on:fork:
is not used directly. I'll open an issue for that.
Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Sven Van Caekenberghe-2
In reply to this post by LogiqueWerks

On 19 Mar 2013, at 17:04, Robert Shiplett <[hidden email]> wrote:

> "RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D

Sorry to be persistent but I am unhappy when people don't read correctly what I write ;-)

I did take the time to run your code, I don't have to do that.

This was your second example:

        Transcript open.
       
        | announcer |
        World announcer
                on: WindowOpened
                send: #value
                to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].


Whether you did a 'Do it' or 'Inspect it' is irrelevant, you executed it.

It has 2 separate problems:

1.

you have to say #value: not #value because your block takes an argument.

that is a mistake that you introduced yourself and that was not in the original example.

but as I said, there should not be an emergency evaluator (although it contained the explanation) - so that is something we can try to improve.

thanks again for reporting that.

2.

ea inspect opens an inspector, which is a window, which triggers your code, which is an infinite loop.

I can't say this any other way.

Sven
Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
"your code"

Are you sure you read MY mail, Sven ?


The snippet in not MINE !  It is in the Pharo 2.0 HelpBrowser !

Were you even born when I was first unhappy with Smalltalk Digitalk/ParcPlace fiasco ?

Do you know anything about MY code over the last decades ?

Have I EVER troubled you with MY code ?


... me relatives in Appalachia are also friendlie after a fashion ... even those that cain t  reed 




On 19 March 2013 13:13, Sven Van Caekenberghe <[hidden email]> wrote:

On 19 Mar 2013, at 17:04, Robert Shiplett <[hidden email]> wrote:

> "RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D

Sorry to be persistent but I am unhappy when people don't read correctly what I write ;-)

I did take the time to run your code, I don't have to do that.

This was your second example:

        Transcript open.

        | announcer |
        World announcer
                on: WindowOpened
                send: #value
                to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].


Whether you did a 'Do it' or 'Inspect it' is irrelevant, you executed it.

It has 2 separate problems:

1.

you have to say #value: not #value because your block takes an argument.

that is a mistake that you introduced yourself and that was not in the original example.

but as I said, there should not be an emergency evaluator (although it contained the explanation) - so that is something we can try to improve.

thanks again for reporting that.

2.

ea inspect opens an inspector, which is a window, which triggers your code, which is an infinite loop.

I can't say this any other way.

Sven

Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

LogiqueWerks
In reply to this post by Camillo Bruni-3
thanks for noticing that ... I miss alot these daes



By 2030 there will be more old folks than young ... will we use Clojure or Smalltalk ? 

Well, the quality of the postLISP Curl debugger means that I am still able to use Curl in old IDE for now ...  but Smalltalk should be their fallback enviro --- 


On 19 March 2013 12:42, Camillo Bruni <[hidden email]> wrote:

On 2013-03-19, at 16:41, Robert Shiplett <[hidden email]> wrote:

> You are not allowed to post to this mailing list, and your message has
> been automatically rejected.  If you think that your messages are
> being rejected in error, contact the mailing list owner at
> [hidden email].
>
>
> I get this today ... but I can Post by REPLY here in my email ...

not the same mailing list:

pharo-project: dev mailing list
pharo-users:   user mailing list


Reply | Threaded
Open this post in threaded view
|

Re: [Esug-list] [ANN] Pharo 2.0

Sven Van Caekenberghe-2
In reply to this post by LogiqueWerks
OK, my bad, Robert, I assumed the first part was from the example, and the second was from you.

Well, then the code in the help browser is wrong, we'll have to kill whoever wrote that.

BTW, I am older than you think, not that it is relevant.

On 19 Mar 2013, at 17:24, Robert Shiplett <[hidden email]> wrote:

> "your code"
>
> Are you sure you read MY mail, Sven ?
>
>
> The snippet in not MINE !  It is in the Pharo 2.0 HelpBrowser !
>
> Were you even born when I was first unhappy with Smalltalk Digitalk/ParcPlace fiasco ?
>
> Do you know anything about MY code over the last decades ?
>
> Have I EVER troubled you with MY code ?
>
>
> ... me relatives in Appalachia are also friendlie after a fashion ... even those that cain t  reed
>
>
>
>
> On 19 March 2013 13:13, Sven Van Caekenberghe <[hidden email]> wrote:
>
> On 19 Mar 2013, at 17:04, Robert Shiplett <[hidden email]> wrote:
>
> > "RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D
>
> Sorry to be persistent but I am unhappy when people don't read correctly what I write ;-)
>
> I did take the time to run your code, I don't have to do that.
>
> This was your second example:
>
>         Transcript open.
>
>         | announcer |
>         World announcer
>                 on: WindowOpened
>                 send: #value
>                 to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
>
>
> Whether you did a 'Do it' or 'Inspect it' is irrelevant, you executed it.
>
> It has 2 separate problems:
>
> 1.
>
> you have to say #value: not #value because your block takes an argument.
>
> that is a mistake that you introduced yourself and that was not in the original example.
>
> but as I said, there should not be an emergency evaluator (although it contained the explanation) - so that is something we can try to improve.
>
> thanks again for reporting that.
>
> 2.
>
> ea inspect opens an inspector, which is a window, which triggers your code, which is an infinite loop.
>
> I can't say this any other way.
>
> Sven
>


12