prototypes (was: new video)

Jecel Assumpcao Jr. jecel at merlintec.com
Sat Jun 16 20:23:02 UTC 2018


Randy,

thanks for the story of ARK and prototypes!

I first saw the idea in the description of ObjectLogo in
"Object-Oriented Languages for the Macintosh". See page 177 of
https://archive.org/details/byte-magazine-1986-08

The awkward message passing syntax compared to my own SuperLogo of 1983
(which used classes) hid the simplicity of the idea from me at the time.
In 1988 I finally read the Self paper as well as the "An Exemplar Based
Smalltalk" (Wilf LaLonde, Dave Thomas and John Pugh) and I finally got
it.

http://www.selflanguage.org/_static/published/self-power.pdf
http://www.davethomas.net/papers/exemplar.pdf

> [Xerox button in ARK]

I thought it was great fun, but can see why trademark lawyers would
worry about it.

> [Warehouse (list of system classes)]

There was some central thing? I thought each class had an object that
looked like a metal door for a loading dock in a warehouse but that
these were just floating around without any organization. I guess I will
have read the paper again.

> [...] Writing code in ARK was (quite awkwardly) done by "swallowing" collections
> of buttons into a new button, thus concatenating together functionality one
> expression at a time.[...]

I can see how that could both be very slow and, with rather fat buttons,
be visually inconvenient. But Scratch has made block based languages
very popular for beginners so I think thise scheme could be made usable.

One way to make the sequence of buttons when using the system more
closely match the programming of the system is to use time / animation.
When using you drop the "increment" button on 3 and you get 4. When
programming you drop the "increment" button on the ghostly X object and
you get a ghostly "X increment" result. Then you can step forward and
back in the animation. The buttons don't visually pile up, though the
ghosly object names get longer and longer.

Good luck with your demo! Back in 2000 I gave a demo to a professor who
taught programming languages (including Self) at a local university and
he was so impressed at being able to actually see the doubly linked list
live that he asked me teach a mini course about Self to his students.

-- Jecel



More information about the Self-interest mailing list