MOO-cows Mailing List Archive

[Prev][Next][Index][Thread]

Better late than...




One really useful thing that allowing foo.bar="burfle" to implicitly call
set_property_value(foo, "bar", "burfle") and foo.bar to implicitly call
get_property_value(foo, "bar") (and thus to allow for wrappers) would be
the ability to easily implement 'inflatable' objects, i.e. objects whose
data is stored out of the MOO database somewhere until it is actually
needed.  

This is not impossible now in a limited way, as people have pointed out,
it is easy enough to implement '$note:get_property' access verbs to
particular properties you know IN ADVANCE you will want to deflate. 
Unfortunately, (a)  you have to maintain and debug a lot more code as you
manually recast objects in your database to inflate, or (b) you have to
know in advance which objects will be getting large on you, which often
isn't possible. 

As a second benefit of this proposed change, allowing individual database
designers to decide what sort of encapsulation of properites suits their
needs seems a Good Thing.  Implementing private data without having it
dependent on permissions, or allowing no access whatsoever to properties
except by verbs on that objects ... while you may not want to force such
encapsulation schemes on everybody, I wish it were *possible* to implement
such a thing effectively with a little server support.




Home | Subject Index | Thread Index