[self-interest] history of prototypes (was: Book on programming with prototypes?)

Albertina Lourenci lourenci at lsi.usp.br
Fri Jul 26 20:26:56 UTC 2002



Jecel Assumpcao Jr wrote:
Hi, Jecel:

> On Thursday 25 July 2002 17:47, Steve Dekorte wrote:
> > Btw, Is there a strong distinction between prototypes and frames?
>
> Frames are pure data structures, not objects.
>
> > The history of protos seems to be Actors -> Frames -> Prototypes.
>
> I am pretty sure that Frames were already being used in the late 1960s
> while Actors were inspired by Smalltalk-72. Actors were prototype based
> systems, but had monolithic "scripts" for behavior instead of a set of
> methods in slots. You might say that Frames + Actors => Self
>

In the intriguing paper entitled "Towards a programming apprentice" by
Carl E. Hewitt and Brian Smith you have the description of The Actor
Model of Computation (published by IEEE Transactions on Software
Engineering Vol. SE I, no.1, March 1975 p.26-45

There he describes the main influences on the development of the actor
model of computation:

Kay proposed a language called SMALLTALK with a token stream oriented
interpreter to implement these ideas on a small portable computer which he
calls the DYNABOOK. Token stream interpreters similar in certain ways to
SMALLTALK had been previously developed by P. Samson at MIT and
V.Pratt at Stanford u.
i
iIn November 1972, P. Bishop and C. Hewitt were working to try to obtain
a general solution to the control structure problems which had continued to plague
PLANNER-like problem solving systems for some years.A problem with Sussman's
"possibility lists" is that simply looking at their contents using try-next can
cause unfortunate
global side effects. These side effects which result merely from attempting to look
at the
possibilities, make CONNIVER programs hard to debug and understand.
The token streams of SMALLTALK have the same side-effect problem as the
possibility lists of CONNIVER.

By December 1972, we succeeded in generalizing the message mechanism of SMALLTALK
and SIMULA-67; the port mechanism of Krutar, Balzer and Mitchell;  and the previous
call
statement of PLANNER-71 to a universal communication mechanism. Our generalization
solved
the control structure problems that Hewitt pointed out to Kay in the design of
Smalltalk.
The actor transmission communication primitive was developed as part of a new
language-
independent, machine-independent, behavioral model of computation for actors. The
development
of the actor model of computation and its ramifications is our principal original
contribution to this area of research.
Although they bear a certain family  resemblance, PLASMA and SMALLTALK are rather
different systems. Many of the differences have come about because S. and P. were
created to serve different purposes. We believe that SMALLTALK may be better
suited than PLASMA for some of its applications and that conversely PLASMA has
certain advantages for our applications.
Difficult problems in system design come from attempting to rationalize the
interaction
of various capabilities. In our research program, the development of PLASMA is
not an end in itself. It is only a convenient formalism for expressing semantic
relationships
which have an existence and importance that is completely independent of P.
We feel that our research on actor semantics has a deeper and more fundamental
character. Plasma is a system dedicated to the direct realization of this semantic
base.

The following were the main influences on the development
of the actor model of computation.

1) The suggestion by Kay that procedural embedding be extended to cover data
structures
in the context of our previous attempts to generalize the work by Church, Landin,
Mitchell
Krutar, Balzer, Reynolds, Bobrow-Wegbreit and Sussman.
2) The context of our previous attempts to clean up and generalize the work on
co-routine
control structures of Landin, Mitchell, Krutar, Balzer, Reynolds, BobrowWegbreit
and Sussman.
3) The influence of S. Papert's little man metaphor for computation in LOGO>
4) The limaitations and complexities of capability-based protection schemes.  Every
actor transmission is in effect an interdomain call efficiently providing an
intrinsic
protection on actor machines.
5) The experience developing previous generations of PLANNER (particularly
the constructor-decomposers of PLANNER-71). Essentially the whole PLanner-71
language was implemented by J. Davies in POP-2 at the University of Edinburgh.

Kay has been extremely helpful in discussionns both
of overall philosophy and technical details.
Most of the insights given below on the relationship between actors and SMALLTALK
come as a direct result of Hewitt being able to visit Kay in August 1973 at the
time of the IJCAI-73 to discuss the various issues with him and the members of this
group!

Below we discuss a number of differences between PLasma and Smalltalk.

Pragmatically SMalltalk is designed to be alanguage
easily usable by children of all ages whereas  PLASMA
is designed to be a transparent formalism for expressing actor computations. PLASMA
is designed to be  a system in which any effective actor system can be conveniently
implemented. Our contribution in basing PLASMA on actor semantics from the
very beginning introduced fundamental differences in content and outlook between
our project and Kay's. Plasma is designed to be used by experienced programmers.

It also serves as the language for our programming apprentice which gives it a
further
bias toward exceptional cleanliness of behavioral definition of all language
constructs.
We have tried to design PLASMA so that as many properties as possible of the
behavior of an actor implemented in the language should be manifest in the
structure of the code.
Programs in plasma have a uniform actor basis...Then he starts a very nice
description of this actor basis.

I love History. I believe History triggers the unfolding of consciousness...All I
care about...

BEst wishes
Albertina



>
> -- Jecel
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
> ==========================================
> This email message has been verified against viruses and SPAM using MIMESweeper.
> Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper.
> http://www.mimesweeper.com
> ==========================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20020726/14aa3dae/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lourenci.vcf
Type: text/x-vcard
Size: 620 bytes
Desc: Card for Albertina Lourenci
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20020726/14aa3dae/attachment.vcf>


More information about the Self-interest mailing list