Clipboards + Meaning

David E. Manifold tril@bespin.ml.org
Thu, 11 Dec 1997 12:39:13 +0000 (GMT)


On Wed, 10 Dec 1997, Jano John Akim Franke wrote:

> <<< In Tunes an object does not exist unless some metaobject shows how it is
> used in the system. >>>
> 
> How do you communicate with these meta-objects?

The meta-object describes an object's type system, including what
functions can operate on the object.  You communicate with objects with
the primitive ("basic standard constructor") operation of 'function
evaluation.'  To use an object you apply a function to it.  When you apply
the function, the system looks up the metaobjects describing the type
system, and verifies that the objects can combine (typechecking).  The
type system is higher-order, meaning you can use any language or semantics
in the system for specifying which objects can combine.

I think a main difference between Tunes and all existing systems is that
the functions performing the operation, the objects being operated on, and
the metaobjects describing the type system are ALL first-level objects,
and are all treated equivalently.  None are more special than the others,
they just have different specifications and different arguments.  (high
order uniformity)
 
> <<< As you travel up the hierarchy to the nth order meta-object, you reach
> the object that provides the entire framework of how objects are treated.
> >>>
> 
> Is it really hierarchical? What about changing the hierarchy?

It is hierarchical in the sense that objects depend on other objects, and
you can trace a tree of dependencies between objects.  Being able to
change the hierarchy dynamically is the nature of Tunes (high order
dynamic reflection).  You might want to stick modularity in there, too.
(any part of the hierarchy can be replaced)

David E. Manifold
tril@bespin.ml.org