The biological cell (was: Erlang)

Alan Kay Alan.Kay at squeakland.org
Sat Nov 15 00:09:44 UTC 2003


Hi Hans --

When I was thinking about this in the 60s (and motivated by contacts 
with biology,math, computers, TSS, Sketchpad, Simula, LISP, the start 
of the ARPAnet, and a remark by R.S. Barton, the designer of the 
B5000: "The basic principle of recursive design is to make the parts 
have the same power as the whole"), it occured to me that "the whole" 
was an entire computer, and it would be very interesting to make "the 
parts"  also be entire computers (as opposed to things that weren't 
whole computers, such as data structures and procedures).

Most of the parts would be software computers, some would be HW 
computers. Intercommunication would be done by messages, etc. This 
mirrored the upcoming ARPAnet in the large, and seemed to improve 
what Simula and Sketchpad were reaching for in the small. This also 
resembled cellular biology, and in mathematics: abstract algebras. 
The B5000 pointed part of the way towards the meeting of HW and SW 
machines. LISP was the start of a good metamachine.

A big trick, which required quite a few smart people to help work 
out, was how to make everything one of these machines, and how to get 
reasonable efficiency of operation.

The first Smalltalks were in the middle of the progression of 
designs. The objects in Smalltalk-72, for example, implemented a kind 
of top down recognizer that parsed the messages and responded. There 
were no separate methods, and each object was essentially a looping 
process (like a machine on the internet) waiting for a message to 
parse.

This is very similar to where several Prolog derivatives got to later 
on (including Erlang). Hewitt's Actors used this idea in many 
interesting and important ways.

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).

Another interesting consequence of this was that each object/class 
could implement its own grammar, and there was no extra cognitive 
overhead in extending the syntax.

Cheers,

Alan

-------

At 9:12 PM +0100 11/14/03, Hans Nikolaus Beck wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Hi,
>
>from the perspective of modeling in computer science, is there a 
>difference between the statements
>
>1) a biological cell IS a process
>
>2) a biological cell HAS processes
>
>(related to the discussion if objects could been seen as processes) ?
>
>From the last posts, I can understand that a process may be modeled 
>as a object (which is the other direction). In this case, what 
>represent the methods/behaviour of such objects (or in other words: 
>what is the behaviour of a behavior/process)
>
>Greetings
>
>Hans
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG v1.2.3 (Darwin)
>
>iD8DBQE/tTcdX8NXna8434cRAuQ3AKCfGmKg7UwzAzjp2suUuW06nAhAoACbBTip
>d/LhNgoVesDOtM3SqExxL+M=
>=xnw7
>-----END PGP SIGNATURE-----


-- 



More information about the Squeak-dev mailing list