On Thu, 19 Sep 2002, wrote:

> I have been looking at TupleSpaces and Rinda and so on.
> I have been trying to figure out how I can have a task list for
> workers of differing type.
        [...]
> space.out(["task", Admin, ["type", letter1, letter2]])
> space.out(["task", Manager, ["meet", board]])
        [...]
> This means that I actually want to do the matching involved
> backwards -- normally a template expresses which things I can pickup
> from the tuplespace, and === gets the right things.  This way round
> the tuple determines who can pick it up.

My solution was to give each class an instance variable of class
Skillset, on the basis that any class inherits all the "skills" of
its ancestors, shich has an instance variable @skillset which holds
the class of the object that created it, and then and Skillset
implements
    def ===(other)
by invesigating the ancestors of other's skillset, to see if any of
them == @skillset.  Thus === is "driven backwards".
>
>         Thank you,
>         Hugh
>