Oops, forgot to send to the list...
-------- Original Message -------- Subject: Re: [self-interest] Re: The initial Self World Date: Tue, 25 May 1999 08:42:03 -0300 From: Douglas Atique firstname.lastname@example.org Organization: Alcatel Telecom To: email@example.com References: <"v04204e01b36f9a91a5e0(a)(091)184.108.40.206(093)*"@MHS>
Hello, Dave (may I call you Dave?) You see, it is a very different feeling to see the VM running and find out that it is no more than a program. It is not something from another world, as I was imagining after looking at the source code. Though I have tried the graphical UI, I cannot use it frequently because: 1) the workstation from which I am borrowing CPU cycles has only 64 MB RAM and runs an intranet web server (not a good idea to load it, right?) 2) I run Self through my Windows PC, with a freeware X server, which does not have many of the Solaris fonts. Anyway, I am glad to be able to run the empty VM because I am interested in evaluating the read-eval-print loop, in order to diagnose the correct behavior I should expect for my bytecode interpreter. Now reading the source code makes more sense, even with those crazy Resource memory allocation schemes and unusual friend class "constructors". This is why I believe that a portable bytecode interpreter should help other people (that can´t access a SPARC) to see and understand Self in practice. My first goal is to master using the empty VM in the most ways I can, like an assembly programmer ;-) Then I will look at more application-oriented Self programming. If you can (perhaps Sun has some technology-transfer-restriction policy :-) and feel like discussing internals, I appreciate. I know sometimes I don´t understand things very well, but the Self implementation is complex and I am only learning. I know I will get there and I know Self can get there, too. One day I'll (or we'll) make it a complete operating environment. Regards, Douglas
I'm glad you have a SPARC to play with Self on, and it sounds as though Jecel has already answered your questions.
Have your tried either of the UIs yet? They offer more visual ways to explore than in the empty world.
At 9:09 AM -0300 5/20/99, Douglas Atique wrote:
Hi, folks! I somehow managed to get Self 4.0 to run on a SPARCstation here at my workplace. Now I can understand better a lot of things that I knew in theory, but couldn´t feel in practice. I am experimenting a little with the empty Self world, that is the bare VM. I tried to do the following: self _AddSlots: ( | prims = _PrimitiveList . credits = _Credits | ) This was successful and added the two slots to the lobby (strangely one cannot access the lobby with the "lobby" selector, but with "self" because the VM# prompt evaluation context is the lobby). Unfortunately, what I wanted to do was to invoke the credits slot as a method slot, so that it would print the credits. Instead, the result was that it only kept the returned object (´Thanks!´) on the slot. Then I tried another idea: self _AddSlots: ( | prims = _PrimitiveList . credits = [ _Credits ] | ) Yes, a block. Perhaps I could invoke the primitive with "self credits value". Unfortunately it didn´t work. It only complained about non-lifo blocks invocation after the block´s enclosing scope has returned. Does anyone know a workaround to really INVOKING a primitive from a slot of the lobby (or generically any object)?
@Backup - The #1 Online Backup Service Automatic, Safe, Reliable Backup and Restores. FREE for 30 Days. INSTALL Now and have a chance to win a Palm Pilot V! http://clickhere.egroups.com/click/218
David Ungar Sun Microsystems Laboratories (650) 336-2618
The Weather Underground. We provide weather across the world. Visit http://clickhere.egroups.com/click/48