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.
Subject Index |