[Q] Does anyone have a radix searchtrieSmalltalkimplementation?
Rob Withers
slosher2 at home.com
Tue Aug 1 09:59:01 UTC 2000
Alan,
I had no idea that it was this powerful. TSpaces and JavaSpaces are
touted as repositories or communications buffers. I had heard of ART,
but not the same one you mentioned. I think it was the Adaptive
Resonance Tool, also from CMU. I think it was a combination of a Neural
net, GAs, and a Selectron style bucket brigade for unsupervised
learning. It was quite successful, in the lab. It also used a
Blackboard model to exchange information.
I have a few comments/questions, below...
Alan Kay wrote:
>
> Mark --
>
> Yes, I would say that is a very good place to look at and start.
>
> One of the things that would help the merging of Smalltalk and Linda
> is to see what aspects of Smalltalk can be abstracted by the Linda
> tuple. There are two obvious ones.
>
> * A tuple can be used as an abstraction for sending and receiving of
> a message, though in Linda it is a little more general and comes out
> as publish and subscribe.
A forwarder that we can use as a perfect proxy would help us hide this,
and treat it as a message send. I was trying to subclass off of
ProtoObject and the tools didn't like it.
> * The second abstraction is to use the Linda tuple to model
> externalized properties of an object (you don't want to expose the
> instance directly since that ruins encapsulation, but it is quite
> reasonable to think of exposing the kind of values that getters
> expose to pattern recognition and retrieval).
A big conceptual problem that I am having is how to convert or publish
the right (restricted) information of a particular object. There may be
several different views of an object. I don't think we have to convert
to a Tuple instance, but rather give Object the protocol for Tuple.
Another issue is that we have to initialize the match template with type
information. Of course, that is bi-directional, as well. As I learn
more about what Linda can do, it struck me that a JIT needs to do this
very thing, when looking up the (receiver | arguments ) tuple for the
right native method. Could we write the JIT in Slang?
> * A third and more subtle one is that one could conceive of a tuple
> space that only has the exposed end of a stream as its single
> "tuple". Linda matching in such a space could be used to construct
> compilers and other kinds of translators, etc.
Wow! Really?! How does this work? I can almost see that it could walk
a tree, which would be nice. I'm guessing that you could register the
productions and actions for various tokens that one would find in a
language. If that stream emits the tokens and does a lookahead, then
the reading and writing of the tokens would trigger various productions,
which would take what it needs from the stream. This would be fun to
build! There must be a way to register interest by internal actions for
events. There must also be a way to add new operations. Mmmm.
> * A fourth usage would be to model a reasoning tool (like ART) that
> permits both forward and backwards processing. ART's forward
> reasoning was fast enough to allow e.g. views to be made of a model
> without touching the model in any way, just by being able to react
> (event driven style) to the new values (that were tuples in ART)
> being produced by the model process.
I have much reading to do on this. :)
Currently, Linda is a powerful tool that seems to be looking for a
home. She is being fed and she's starting to grow in *very* interesting
directions.
thanks,
Rob
> Cheers,
>
> Alan
>
> At 1:48 PM -0400 7/31/00, Mark Guzdial wrote:
> >>Could you tell us a little more about full unification in CLOS?
> >>
> >
> >After Bolot ported Mike Teng's Prolog/V to Squeak, but before
> >starting on these book projects, I started exploring using the
> >Prolog unification for LindaTalk, but I didn't get very far.
> >Perhaps that's a start using existing code?
> >
> >Mark
> >
> >--------------------------
> >Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280
> >Associate Professor - Learning Sciences & Technologies.
> >Collaborative Software Lab - http://coweb.cc.gatech.edu/csl/
> >(404) 894-5618 : Fax (404) 894-0673 : guzdial at cc.gatech.edu
> >http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
--
--------------------------------------------------
Smalltalking by choice. Isn't it nice to have one!
More information about the Squeak-dev
mailing list
|