Hi!
I've set up a web page for my first version of ``mySelf´´, my Self parser
and simulator written in Smalltalk! If you like, check out
http://freeweb.digiweb.com/computers/sma/
MySelf works both for VisualWorks Smalltalk and Squeak, however the Squeak
port is really crude. As Squeak's syntax unfortunately doesn't conform with
the "standard", I had to work around some problems, mainly the fact that
"_" isn't a valid character in message names. Therefore, I recommend
VisualWorks NC, which is also _much_ faster.
Happy New Year!
bye
--
Stefan Matthias Aust // Are you ready to discover the twilight zone?
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
<unlurk>
Hmm, I did NOT post the stuff below even though my name is
showing up as the poster... I think I'll have a chat with
Scott (I know the founders of eGroups).
I can't wait to see that Self running on Linux though!
Best,
Kyle
</unlurk>
Original Article: http://www.egroups.com/list/self-interest/?start=84
> <9901251236.aa150658-@ix> wrote:
> Original Article: http://www.egroups.com/list/self-interest/?start=83
> > nobody(a)nowhere.org wrote:
> > > For an excellent example of what can happen if you don't have
> > > optional parameters in a language, take a look at the Java's
> > > GridBagConstraints object. Its a total mess. To set the
> > > constraints on an object you have about 4-6 lines of code per
> > > Component of a window- it should have been a single line.
> > > That's bound to negatively impact reliability- there's just
> > > loads more things that can go wrong.
> >
> > Shouldn't interfaces be built with GUIs?
>
> I personally haven't had much experience with those- I can see
> that they may well give much better performance.
>
> > > Take a look at TCL also- buttons take a single line to
> > > create... it takes 3x more code in Java. Self is closer
> > > to Java in this respect.
> >
> > Why not clone an existing Button and modify it?
>
> Do you have any data to show that this is quicker? There is
> data that shows that TCL is 2-3x quicker to write for many
> applications than say Java, but no quicker/slower for others.
> It also shows that Java is about 3x quicker than C++ for a
> lot of things...
>
> (My personal experience seemed to show that Self is slower
> than Java to write in for me. Perhaps that's me.)
>
> > BTW, I've been using python, which has optional named parameters with
> > defaults and I've yet to see it used for any good purpose. Mostly people
> > use them to make huge initializers (which I, and the writers of _Writing
> > Smalltalk with Style_ think is poor coding practice).
>
> Maybe. However I am reminded of the sole British competitor at a winter
> Olympics in ski jumping 'Eddie the eagle', who inspite of 'terrible
> style' jumped further than some with good style- inspite of rather
> significant lack of practice/skill. (His skis were at about 60 degrees
> to each other, whereas other competitors kept them together.)
>
> The judges marked him down rather severely- and he came last but one.
> There was also talk of him not being suitable material for entering
> the competition in the first place.
>
> However the next Olympics the winners adopted his style- due to its
> aerodynamic advantages...
>
> > I do think handling
> > variable arguments is important for certain kinds of applications though,
> > like implementing proxies.
>
> Yeah. Look at any Unix/Dos command. Ask yourself how you would implement
> such a command in Self/Java/C++/C etc. with only fixed parameters. Then ask
> yourself 'would I have to check the documentation to use this command'
> then add 3 minutes to your coding for each such call.
>
> >Lua has a more elegant way of dealing with these
> > than python.
>
> How so?
>
> > steve
>
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
khayes(a)flash.net wrote:
> > > Take a look at TCL also- buttons take a single line to
> > > create... it takes 3x more code in Java. Self is closer
> > > to Java in this respect.
> >
> > Why not clone an existing Button and modify it?
>
> Do you have any data to show that this is quicker?
Yes, I've used GUI's for creating interfaces where I could clone and
modify buttons instantly with zero lines of code.
> ...However the next Olympics the winners adopted his style- due to its
> aerodynamic advantages..
We'll most programmers use big initializers now, so I think your metaphor
would favor the few arguments in initializers technique.
>> Lua has a more elegant way of dealing with these
>> than python.
>
> How so?
You can send as many arguments as you like to any method.
If that method takes fewer arguments, it puts the rest into a local "args" variable.
I prefer this because I don't like how python's optional named arguments complicate
the syntax and encourage the use of this feature for data flow/functional programing.
Python can also do something similiar to Lua for variable arguments, but
it also has it's own syntax, making it less elegant than Lua.
Steve
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
nobody(a)nowhere.org wrote:
> For an excellent example of what can happen if you don't have
> optional parameters in a language, take a look at the Java's
> GridBagConstraints object. Its a total mess. To set the
> constraints on an object you have about 4-6 lines of code per
> Component of a window- it should have been a single line.
> That's bound to negatively impact reliability- there's just
> loads more things that can go wrong.
Shouldn't interfaces be built with GUIs?
> Take a look at TCL also- buttons take a single line to
> create... it takes 3x more code in Java. Self is closer
> to Java in this respect.
Why not clone an existing Button and modify it?
BTW, I've been using python, which has optional named parameters with
defaults and I've yet to see it used for any good purpose. Mostly people
use them to make huge initializers (which I, and the writers of _Writing
Smalltalk with Style_ think is poor coding practice). I do think handling
variable arguments is important for certain kinds of applications though,
like implementing proxies. Lua has a more elegant way of dealing with these
than python.
steve
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
---------- Forwarded message ----------
Date: Sun, 24 Jan 1999 15:40:26 -0200 (EDT)
From: Albertina Lourenci <lourenci(a)lsi.usp.br>
To: self-group(a)egroups.com
Subject: book on prototype
It seems the title of the book is missing. Well I am interested
in the title and how can I order it.
Will someone tell me if there is enough time to propose a workshop
at ECOOP'99 about Hermeneutic Computer Science? Sorry this connection
was not made in the book on prototypes and I would welcome those
interested in accomplishing the workshop with me.
Albertina Lourenci
PhD in Architecture and Urbanism
Post-doctorate student
Laboratory of Integrated Systems University of Sao Paulo
Brazil
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
Hi,
I am so stupid, it's unbelieveable...;-)
I just found what I would have needed so much
in the beginning: the description of the Self stack frame.
The port of NIC is making progress: I can call primitives now,
'_Credits' works, '_Spy: true' works partially, it enters
the C code with correct parameters but the window only opens
in single step mode within the debugger (propably because
of the turned off signals). '1 _IntAdd: 1' works as well as
something like '( | x = 17. y = 18 | ) x'.
Assignable slots do not work yet, nor did I have a closer
look at non local returns. The GC masks inside the SendDescs
need to be fixed as well as the traversal of the stack frames.
A lot of the primitive assembler code is also not yet written.
-Gordon.
PS: I would like to get the group by email. The mail adress
given on the web page to subscribe it does not work. What
can I do?
--
----------------------------------------------------
Gordon Cichon email: Gordon(a)Cichon.de
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
I think this is a good idea. I don't know why the syntax would
have to change though..
I think the biggest thing was hit on by Randall. There is a need to
break up the system.
Back to the syntax...
I guess you could declare things like this...
x: x y: y = ( x: x. y: y.).
maybe...
x: x (0) y: y (0) = (x: x. y: y.).
Then this could be called as x: ~ y: ~. The '~' could mean 'insert
default value'?
Dru Nelson
Redwood City, California
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
Hi,
I made a little progress at the Self/Linux port. :-)
I was just able to evaluate the first Self expression
on Linux with NIC generating i386 code:
> gordon@salt:~/self/vm/linux/debug > Self -F -l hello.txt -t -p
> Self Virtual Machine Version 4.0.5, Wed 20 Jan 99 20:42:59 Linux 2.0.33 (linux)
> Copyright 1989-95: The Self Group (type _Credits for credits)
>
> VM# 1
> 1: ( | parent* = <0>. | )
> VM#
OK. It is not really spectacular, I have to admit...
Well, I am going to try now all language features systematically.
Gordon.
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
>
> I wonder whether, with some 'fairly minor' changes to the language syntax,
> Self might a really good, quite high performance scripting language.
>
> The enhancements I can see would be:
>
> 1) optional parameters
> 2) decent library of string manipulation (like TCL has)
>
For a long time at Sun we tried to sell a concept we called "The Green
Blur." I can't recall the origin of the color, but it had to do with
making Self into an system that offers a smooth, continuous path leading
from end-user programmer land ("scripting") to full-fledged programmer
land.
This was part of the motivation behind the Morphic user interface
stuff...end users could directly rip apart a running application, get in
there, tweak something, and..before you know it..they are programming!
At a deeper level, I do not believe there needs be a conflict between
concreteness and abstraction. Use of prototypes is an example of that.
And concrete abstractions are ideal for bluring the end-user and
full-fleged programming worlds.
Sounds simple, but there are many barriers along the path, and syntax is
a big one. Also, appropriately filtering or narrowing the view of the
massivly populated "library" of existing objects.
--Randy
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com
I wonder whether, with some 'fairly minor' changes to the language syntax,
Self might a really good, quite high performance scripting language.
The enhancements I can see would be:
1) optional parameters
2) decent library of string manipulation (like TCL has)
The literature suggests that scripting languages are twice as quick to
code in, mainly due to the reduction in the number of lines of code
that need to be written, and (apparently) due to the fact that they are
untyped.
What does anyone else think?
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/self-interest
Free Web-based e-mail groups by eGroups.com