[self-interest] Cross-Paradigm Learning

Jecel Assumpcao Jr jecel at merlintec.com
Wed Sep 1 00:45:34 UTC 2004

On Friday 27 August 2004 15:38, Jack Waugh wrote:
> Any thoughts from those steeped in Self but willing to consider how
> to apply Self's lessons on how a language can support good software
> engineering, in a different world, a world where generally we want to
> avoid shared access to mutable memory except via a very structured
> message mechanism (the bird or its variants in other concurrent
> constraint or actor languages), would interest me.

While I really like Self's model of methods inside of objects, that is 
probably not the best inspiration for a world of pattern matching 
robots. You might want to take a look at generic functions. Or even 
better, see the Prototype Multiple Dispatch in Slate:




They currently use a very Self-like inheritance model, but plan to move 
in a different direction.

One problem with ToonTalk is that objects can be generalized only in 
very restricted way. That was also a serious limitation in the game 
creation software Klik&Play and was improved in the next version 
(called Games Factory).

Imagine that you could group your objects into sets. It would be even 
nicer if these sets could overlap in arbitrary ways. If you could then 
use these sets when defining the inputs for the robots and have them do 
their job for any object belonging to the set, you would need fewer 
robots to get things done.

In the case of a game, for example, you might have the set of players of 
team 1, set of players of team 2, set of boundary lines and the set of 
all moving objects (team 1 + team 2 + ball). Now you can program your 
robots in a very generic way.

This still doesn't allow you to match patterns like "two players from 
same team" or "two players from different teams" (each can be expressed 
as two patterns: {team 1, team 1} and {team 2, team 2} for the first 
case) but is much better than no inheritance at all.

-- Jecel

More information about the Self-interest mailing list