[squeak-dev] what is smalltalk? (was: Smalltalk dialects and GSoC)

Eliot Miranda eliot.miranda at gmail.com
Wed Feb 12 19:13:05 UTC 2014


Hi Jecel,


On Wed, Feb 12, 2014 at 11:52 AM, Jecel Assumpcao Jr.
<jecel at merlintec.com>wrote:

> Dennis Schetinin asked:
> > Is Self a Smalltalk? :)
>
> Yes. To quote Mario Wolczko, "Self is like Smalltalk, only more so."
>
> It seems that I have the only copy of his "Self includes: Smalltalk"
> paper online:
>
> http://www.merlintec.com/download/mario.pdf
>
> The pages are in the reverse order, which makes it nice to print on
> simple printers but a bit complicated to read on a screen.
>
> It is very important to notice that this is *not* like a Lisp or Prolog
> implemented on top of Squeak. A casual reading of this paper might give
> this impression, but it really is something different. Self is treated
> as a kernel Smalltalk which is then expanded into full GNU Smalltalk
> compatibility. There aren't two layers, but a single language.
>
> This is in contrast to PEP, which implemented Java by compiling it to
> Self bytecodes. That is like NewSpeak using the Squeak VM:
>
> >
> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.6906&rep=rep1&type=pdf


I have to quibble here.  Newspeak isn't entirely compiled to Squeak
bytecodes.  Lexically bound and dynamic super sends require special
run-time support.  In the first implementation that took the form of
escaping from bytecodes into a perform:-like invocation that was very slow.
 In the second implementation we added two bytecodes that find the
effective receiver, one for a lexically-bound send, and one for a dynamic
super send.  But this is a security hole.  In the third implementation we
have a new bytecode set, which sits alongside Squeak's, and this contains
absent receiver sends for lexically-bound and dynamic super sends.  [and
note, Newspeak, not NewSpeak]

Since this paper ("Towards a Universal Implementation Substrate for
> Object-Oriented Languages" by Mario Wolczko, Ole Agesen and David Ungar)
> talks about both projects it is easy to get the impression that they
> were the same kind of thing and that saying "Self is a Smalltalk" would
> be as silly as saying "Self is a Java". The details are important.
>

Yes, the details are important, but Self is an evolution of Smalltalk, just
as Newspeak is.  Java is /not/ an evolution of Smalltalk.

-- Jecel
>

-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140212/b12b4971/attachment.htm


More information about the Squeak-dev mailing list