russellallen / self

Making the world safe for objects
http://selflanguage.org
713 stars 76 forks source link

gaps in doco #21

Open zenspider opened 10 years ago

zenspider commented 10 years ago

OK. Thanks to your help I got the VM built. Now what?

It seems to me that there's a huge gap in the doco regarding actually using self, esp out of the build directory.

I can't go from building the VM to running self via the doco. Additionally, I have no idea how to use the instructions on how to build the world. Here is some of my confusion illustrated:

10071 % find . -type f -name Self
./controller/osx/Self.app/Contents/MacOS/Self
./vm/Self.app/Contents/MacOS/Self

The first one wants to use X11 for some reason. The second doesn't. Why are they different but named the same?

Running the second one:

10072 % open vm/Self.app/
The application cannot be opened because its executable is missing.

and if I run the actual binary:

10074 % ./vm/Self.app/Contents/MacOS/Self 
Self Virtual Machine Version 4.1.13, Mon 13 Jan 14 15:40:57 Mac OS X i386 (4.5.0-1-g1a5f8ac)
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
VM# desktop open
A lookup error happened while sending the message
    desktop
to
    lobby.
Subsequently, the lookup error message
    undefinedSelector:Receiver:Type:Delegatee:MethodHolder:Arguments:
was sent to
    <0>,
and was also not understood, causing the process to be aborted by the Self VM.

#0 (<error>:1): desktop = ( | self* = lobby. delegatee = nil. selector = 'desktop'. | 
"undefined selector error;
this method was automatically generated by the VM."
 )

#1 (<stdin>:1): <top level expr> = ( | self* = lobby. | desktop open )

or:

VM# _Spy: true
false <1>: ( | parent* = lobby. | )
VM# 'worldBuilder.self' _RunScript
A lookup error happened while sending the message
    primitiveFailedError:Name:
to
    'worldBuilder.self'.
Subsequently, the lookup error message
    undefinedSelector:Receiver:Type:Delegatee:MethodHolder:Arguments:
was sent to
    <0>,
and was also not understood, causing the process to be aborted by the Self VM.

#0 (<error>:1): primitiveFailedError:Name: = ( | self* = 'worldBuilder.self'. :arg1 = 'ENOENT'. :arg2 = '_RunScript'. delegatee = nil. selector = 'primitiveFailedError:Name:'. | 
"undefined selector error;
this method was automatically generated by the VM."
 )

#1 (<stdin>:1): <top level expr> = ( | self* = lobby. | 'worldBuilder.self' _RunScript )

This one was done because I overlooked the prose and went straight to the instructions. Having step 1 includecd objects would have helped.

Even more confusing:

10083 % find . -type f -perm -100
./.git/hooks/applypatch-msg.sample
./.git/hooks/commit-msg.sample
./.git/hooks/post-update.sample
./.git/hooks/pre-applypatch.sample
./.git/hooks/pre-commit.sample
./.git/hooks/pre-push.sample
./.git/hooks/pre-rebase.sample
./.git/hooks/prepare-commit-msg.sample
./.git/hooks/update.sample
./CMakeFiles/2.8.12.1/CMakeDetermineCompilerABI_C.bin
./CMakeFiles/2.8.12.1/CMakeDetermineCompilerABI_CXX.bin
...
./website/static/images/img01.jpg
./website/static/images/img02.jpg
./website/static/images/img03.jpg
./website/static/images/spacer.gif
10084 % find . -type f -perm -100 | wc -l
    1918

1900+ files are executable in the checkout. Why are source code and jpgs marked executable in the checkout? This just obscures discovery.

doublec commented 10 years ago

On Tue, Jan 14, 2014 at 1:02 PM, Ryan Davis notifications@github.com wrote:

OK. Thanks to your help I got the VM built. Now what?

I don't have a Mac handy but something like this should get you going:

$ cd objects $ ../vm/Self.app/Contents/MacOS/Self Self Prompt> 'worldBuilder.self' _RunScript ... Self Prompt> desktop open

http://www.bluishcoder.co.nz

russellallen commented 10 years ago

Ryan, can I suggest you subscribe to the mailing list at self-interest@yahoogroups.com? Email self-interest-subscribe@yahoogroups.com to subscribe. There is an archive at forum.selflanguage.org That way more people will see your questions.

zenspider commented 10 years ago

On Jan 13, 2014, at 16:13, Russell Allen notifications@github.com wrote:

Ryan, can I suggest you subscribe to the mailing list at self-interest@yahoogroups.com? Email self-interest-subscribe@yahoogroups.com to subscribe. There is an archive at forum.selflanguage.org That way more people will see your questions.

I totally can, but I'm still gonna bug you here. :D Too much stuff gets dropped on the floor when support is done via mailing lists.

I've been following self for.. well... prolly since my first OOPSLA. I want you guys to succeed and I'm really happy you guys got this release out. It's a big improvement, but needs to be more approachable by newbs. So I'm going at this like one.