MOO-cows Mailing List Archive


SERVER: Verbing properties

I think verbing properties is a bad idea.

Properties have the property that they contain *data*. Data is
analyzable, code isn't. 

  For instance, it is possible to write code that can look through
  the properties of an object, mapping all objids uniformly to
  other objids. Invaluable if you want to move an object from one
  MOO to another and all references to other objectsin verbs
  indirect through #0 or your own property (e.g.
  this.port:notify(..) rather than #4312:notify(..)).  

It is easy to parse and manipulate values in MOO (that was what
MOO was designed for!) -- much harder to manipulate MOO
*programs* (not strings) in MOO.

When I run my code and it accesses your property, I know that
none of your code ran ... I know that as long as my current task
does not suspend, and I do not invoke verbs on you, the data I
read will remain unchanged. And that I (my task) will not be
charged excessively because you ran a big verb on my watch when I
just wanted the value of a variable. You just read out a value
for me, you dont compute arbitrarily. Major win for a language
for reactive computation.

Separate ideas, best kept separate.

Vijay Saraswat


Home | Subject Index | Thread Index