[self-interest] [Ann][Quack] Self 4.5.0 ("Mallard") released
baltasarq at gmail.com
Mon Jan 13 11:25:42 UTC 2014
> OK, so Self Mallard (4.5.0, named after the the majestic, awe inspiring Anas platyrhynchos) is now live at:
First of all, this is an excellent work. Kudos for the effort!
Okay, I've tried and installed it. Since it has been a very long time since I played with Self, it was more like a newbie experience than anything else.
I hadn't read the blog yet, so I Hadn't learn about the -s option.
After unpacking, the first thing I tried was:
bash: ./Self: Permission denied
baltasarq at PC-baltasarq:~/Desktop/Self-4.5.0$ chmod +x Self
This is a little bit annoying, but anyway.
Self Virtual Machine Version 4.1.13, Sat 11 Jan 14 21:43:40 Linux i386 (4.4-272-g885323f)
Copyright 1989-2003: The Self Group (type _Credits for credits)
for I386: LogVMMessages = true
for I386: PrintScriptName = true
for I386: Inline = true
for I386: SICDeferUncommonBranches = false (not implemented)
for I386: SICReplaceOnStack = false (not implemented)
for I386: SaveOutgoingArgumentsOfPatchedFrames = true
Well, all right, let's try the magic word:
To begin using Self, you must read in the world of Self objects.
To read in the world, type:
When this process is complete, you will be at the Self prompt.
At the Self prompt, you can start the user interface by typing:
So now, the next step is obvious:
#vm 'worldBuilder.self' _RunScript
A lookup error happened while sending the message
Subsequently, the lookup error message
was sent to
and was also not understood, causing the process to be aborted by the Self VM.
This is not good. I exited Self by hitting ^C many times...
VM# ^C^C^C^C^CSelf VM warning: press one more ^\ or ^C to force abort
Do you really want to force a 'hard' abort (y/n)? y
Self VM fatal error (/home/russell/self/vm/src/any/os/sig.cpp, line 191): forced ^\ abort
VM Version: 4.1.13, Sat 11 Jan 14 21:43:40 Linux i386 (4.4-272-g885323f)
Self process 25883 on PC-baltasarq has crashed.
Do you want to:
1) Quit Self (optionally attempting to write a snapshot)
2) Try to print the Self stack
3) Try to return to the Self prompt
4) Force a core dump
5) Print the interrupted context registers
Your choice: 1
Enter snapshot name (hit return to omit snapshot) >
No snapshot specified, will skip this step
Next thing I tried was to drop Clean.snap onto the Self executable (nothing happened), or call Self with the --help option (a standard option nowadays). This executed the Self console without any noticeable change.
> I've lightly updated the website, and put a blog post up at:
Thanks to that, I was able to finally fire up Self.
$ ./self -s Clean.snap
And the main problem comes when you close the window of the desktop. The console does not exit, and the prompt just shows: "Self 1". I tried the other magic word:
"Self 1" quit
Save to Clean.snap before quitting?
y => save, then quit
n => quit without saving
RET => cancel
Snapshot file name? [RET => Clean.snap]
Saving object code in snapshot is currently disabled.
[Type the number of your selection]
Snapshot compression is currently enabled.
[Type the number of your selection]
Code cache size (code only) ? [RET => 16777216]
Change object heap sizes y/[n] ? n
Starting: Thoroughly cleaning up memory......
Finished: Thoroughly cleaning up memory...
Starting: Writing snapshot to Clean.snap...
Finished: Writing snapshot to Clean.snap
Save it or not? Enable compression? Cache size?
Shouldn't the image just be saved automatically? Maybe copying the original one as Clean.snap.bak?
The thing I want to state is that Self, in its current state, is not very friendly for beginners. Maybe just a "start.sh" with the "chmod +x Self && ./Self -s Clean.snap" would just solve the problem of beginning with Self. About finishing, I think it should be completely simplified.
Another, completely different issue is how bad the font is seen in Ubuntu. Maybe is just that the system font is too small in the title window, and in the buttons: Get it, Do it and Close. Can that be somehow fixed?
Finally, in the self page the tutorial in: http://selflanguage.org/_static/tutorial/index.html is recommended. The problem is how to start. Nowhere is to be found how to create a new, empty object, so you can start with the balance example.
Hope this, somehow, helps.
Baltasar García Perez-Schofield (jbgarcia at uvigo.es)
Dpt. Informática, Universidad de Vigo, España
More information about the Self-interest