implementation issues (was: types of people)

David Ungar David.Ungar at Eng.Sun.COM
Wed Aug 30 17:19:56 UTC 1995

Right on!

And, I don't think Beta quite  solves the block problem--

Consider that Beta still needs a built-in thing for if's, whereas ST & Self
(& Scheme) don't.
This is important because it means that it feels pretty heavyweight to use
a user-defined
control structure in Beta, compared to ST or Self.

Also, consider that Beta has lexical scoping, as Jecel points out.
This is great for some things, but does add complexity to the language--
should it be in or out? (Self has a little of it) I am not sure yet.

- Dave

At 9:51 AM 8/30/95, Mario Wolczko wrote:
>Date: Wed, 30 Aug 1995 01:31:59 -0300
>From: "Jecel Mattos de Assumpcao Jr." <jecel at>
>To: self-interest at
>Subject: implementation issues (was: types of people)
>rainer at (Rainer Blome) mentioned a few ways in which Self
>could become more scheme-like, including the tail-recursion optimization.
>"ian (i.r.) woollard" <wolfe at> also mentioned this optimization in
>another message.
>While this optimization is invisible in a normal execution of a program,
>if you get an exception and reflect on the activations ( call the
>debugger, for example ) you will find that a large chunk of your stack
>is missing. This small deviation from strict source semantics is
>against the current Self philosophy.
>I am including a more general "tail-call" optimization in tinySelf as
>it reduces context allocation ( I use the heap rather than stacks :-( )
>and enhances parallelism in my active object model. When I get some
>numbers on this I will post them here.
>lpd at (L. Peter Deutsch) didn't like the suggestion of
>macros ( I don't either ) and talked about the Beta way. I have
>just finished the Beta tutorial and found it really neat how it
>doesn't need blocks. I wish objects could be used in the same way
>in Self, but it is not possible. It only works because Beta is
>a lexically scoped language, while Self is a dynamically scoped
>About non-LIFO blocks: Self doesn't need them as much as Smalltalk
>as it is so easy to create unique inline objects with their own
>methods and pass them around instead.
>-- Jecel

-- Dave

More information about the Self-interest mailing list