[Newbies] My favourite strange expression [was: Challenge]

2006-07-20 Thread Klaus D. Witzel

On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote:


Heh. My favourite strange expression is this:

# hi there :== '_'

1) Who can guess what the result is WITHOUT trying it?
2) Who can explain what's happening?
3) Do we need to fix it?

- Bert -


Found another one (relative to #7042):

| philosopher mathematicians |
  mathematicians := 2.
  philosopher := philosopher == mathematicians.
  OrderedCollection new
addLast: philosopher;
removeLast: mathematicians;
size

Questions 1-3 from Bert applicable to *both* issues ;-)

/Klaus

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] troubleshooting question

2006-07-20 Thread Thomas Keller
Still confused.I'm running Squeak3.8-6665 on OS X v10.4.The debugger indicates nextPutAll: 'hello world' is the problem. But nextPutAll: should take a string as its argument.self halt also gives an error, with halt as an undefined object.
sigh.Tom KOn 7/18/06, Thomas J Keller [EMAIL PROTECTED] wrote:
Greetings,I copied this simple example from the Beginners page:OSProcess thisOSProcessstdOut nextPutAll: 'Hello World'Before running it, I did install the OSProcess OSProcess Plugginpackages.
But I get an MessageNotUnderstood error browser.But I can't seem to figure out why stdOut is not understanding nextPutAll:Thanks for help.
Tom Keller, 
Ph.D.
[EMAIL PROTECTED]
503-494-24426339b Basic Science Bldg
http://www.ohsu.edu/research/core 
___Beginners mailing listBeginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- Tom"Ecrasez l'Infame!" -- Voltaire
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] troubleshooting question

2006-07-20 Thread Bert Freudenberg

Perhaps you could describe what you actually want to achieve.

Squeak is different from other programming environments. Some things  
are much easier, some are much harder than in other systems. In a  
way, Squeak pretends to be its own operation system (it indeed can  
run on bare hardware). That makes it harder to do a hello world  
that writes to the other operating system's stdout. Other things,  
like animated graphics or sound are much easier in Squeak than  
elsewhere.


The Squeak hello world is simple to show that string on the  
Transcript. Or even better


self inform: 'hello world'

Note that working with Squeak is much more immediate than you might  
be used to. For example, you should just select OSProcess  
thisOSProcess stdOut and press Cmd-p to see the result, rather than  
logging it to the Transcript. Or, press Cmd-i to inspect it. You  
should learn to use the debugger - read what it actually says, and  
explore. For example, UndefinedObject does not understand:  
#nextPutAll: simply means you sent the message nextPutAll: to nil  
(an instance of class UndefinedObject), which cannot understand that  
message, and says so.


Same thing with a self halt: you do not get an error, the reddish  
window simply is a friendly debugger to examine the code about to be  
executed.


- Bert -

Am 20.07.2006 um 20:03 schrieb Thomas Keller:


Perhaps this is the problem?
When I ran this in a worksheet:
a _ OSProcess thisOSProcess stdOut.
Transcript show: a

show: returned nil
So nextPutAll: has no where to print to?

So my next question is how do I find the systems STDOUT pid?

Thanks,
Tom K

On 7/19/06, David T. Lewis [EMAIL PROTECTED] wrote: On Tue, Jul  
18, 2006 at 11:19:56AM -0700, Thomas J Keller wrote:

 Greetings,
 I copied this simple example from the Beginners page:
 OSProcess thisOSProcess stdOut nextPutAll: 'Hello World'

 Before running it, I did install the OSProcess OSProcess Pluggin
 packages.

 But I get an MessageNotUnderstood error browser. But I can't seem to
 figure out why stdOut is not understanding nextPutAll:

Hi Tom,

OSProcess does not work on all platforms. If you are using Linux (or
Mac OS/X with the less common Unix VM), the example should work. But
if you are using Windows, it would not work unless you build your own
custom VM and plugins (not what you had in mind, I'm sure).

Almost everything in Squeak works identically on all platforms, but
OSProcess is an exception to this rule. It is intended to provide
platform-specific extensions, and it works differently (or not at
all) on different platforms.

As for troubleshooting, try playing around with the Squeak debugger.
When you saw the MessageNotUnderstood browser, you were seeing
the debugger. Open in up and explore a little, and you'll be able
learn a lot about problems like this one. You can also open a debugger
right away and use it to step slowly through a problem to see where
it goes wrong. For you example, try evaluating this in your workspace:

  self halt.
  OSProcess thisOSProcess stdOut nextPutAll: 'hello world'

Hope this helps a little,
Dave



___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners