The biological cell (was: Erlang)
Alan Kay
Alan.Kay at squeakland.org
Sun Nov 16 01:40:53 UTC 2003
Hi Rob --
At 6:19 PM -0800 11/14/03, Rob Withers wrote:
>Alan, these posts are always so stimulating. Could
>you tell me a little about abstact algebras and how
>you relate them to computers sending messages to other
>computers? Is it related to defining languages, in
>some way?
Originally, algebra was a symbolic form of arithmetic. In the 19th
century, mathematicians realized that there were lots of other
systems that had some of the properties of numbers, and they gave
such systems with various overlaps to numbers, names such as groups,
fields, rings, etc., and algebras. This then became a useful metaphor
and goal: to try to find common properties of systems and abstract
them into the simplest schemes that covered all of them. So, e.g, a
number of the object-like systems I saw in the 60s, such as
Sketchpad, used a particular offset in the layout to find the pointer
to (say) the display subroutine for that kind of object. Today we
call that polymorphism, but this term is borrowed from theory of
functions and is not quite right. In any case, once you have an
inside and an outside, and try to do everything through embedded
procedures of some kind, you have set up the possibility for an
"algebra" of meaning that could extend over all objects. Clearly, a
good job of this cuts down the size and nomenclature of the concept
space. This thinking was before APL, but not before Iverson's book
that defined a more comprehensive version of APL, and it occured to
me that you could go much further than Iverson did with what I called
"generic procedures".
>
>you also wrote:
>
>> An interesting consequence of this structure was
>> that protection was
>> complete in ST-72, and all messages could be
>> serialized if the object
>> wanted (we did not bother with this because we were
>> working on
>> different kinds of problems -- but Hewitt thought
>> about it a lot).
>
>Could you say a little more about why protection was
>ensured?
In the very same way that a computer on the Internet is quite
intrinsically safe -- no outside entity can force anything because
the computer has to run some of its own code before anything can be
admitted and acted upon. To hurt a computer it has to have stupid and
foolable SW. The ST-72 objects were only given a pointer to the
message and the knowledge that a message was trying to be sent. They
had to do the rest of the work to receive the message, and they had
full power to act or not.
> Also, I like the implications of serializing
>all msgs. How did this work in these systems?
As I said, we didn't do very much about this, but part of the style
that the first Simula used, and the later Hewitt Actors inspired by
ST-72 were very much concerned about serializing. Again, thinking of
an object as a computer, it was quite possible to make objects that
would implement ques, etc., that would handle or reject messages in
serial order. This is part of Dave Reed's scheme in his '78 MIT
thesis and in his part of Croquet.
Cheers,
Alan
>
>thanks!
>journeyman rob
--
More information about the Squeak-dev
mailing list
|