MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: Verbing Properties
--- Adrian Irving-Beer wrote:
>>* Programmers get DIRECT control over who and what accesses their
properties,
>> as such, it would not be hard to implement a $lock_utils-like system for
>> access priviledges.
>
>Ummm, make a verb that returns the value of the prop (which is !r) and
>check there.
This means there is a standard for 'wrapper' verbs. Remember, programmers
don't
HAVE to use these wrappers, they are simply there if needed.
#1._set_* and #1._get_* will simulate the behaviour of the current core.
>>* Properties need not return static values. For
>> example #0.time could return time()
>
>Why? $time can just as easily be $time() and do the same thing. And
>there's time() :P
This was merely an example, more useful things like, say, .title, which
eliminates the need for the .name/:title() kludge, or a .description prop
that includes .
>>* Property access could be logged.
>
>Again, using the verb-that-returns idea.
>Just create some sort of :show_prop that shows it if the person has access.
This basically does that, but from the programmer's point of view, it has the
convenience of using "foo.bar = baz;" instead of foo:reset_bar(baz). Also,
under this system, LambdaCore could run with only the addition of the #1
verbs.
>> * 'foo.bar' is replaced by 'foo:_get_bar()'
>> * 'foo.bar = quack' is replaced by 'foo:_set_bar(quack)'
>> * property_info(foo, "bar") is replaced by
>> foo:_getinfo_bar() (returns {OWNER, PERMS})
>> * set_property_info(foo, "bar", {OWNER, PERMS}) is replaced by
>> foo:_setinfo_bar({OWNER, PERMS}).
>
>Why not just call these themselves?
So that LambdaCore will work.
>This may seem like a nasty response - but I'm just not sure exactly why
>you have to do this. If you want verbs, use verbs. If you want props,
>use props. If you want multiple inheritance props that only the
>owner/co-owner(s) can see, make them !r with :show whatever verbs pointing
>to them, which check for permissions (and possibly log).
This basically does this while remaining Lambda-compatible.
>Although I see there would be some use to this, I really think that a
>system with programmers (and wizzen!) who understand the system and can
>program using the right verbs etc is better then taking out the entire
>property system.
I'm not taking it out, it remains to hold data. Just the access system
has changed.
>I'm pretty sure it would
>be a BIG job to use verbs that tell you the props.
Not at all, just a server hack and a few verbs on #1, and voila.
-manta
Home |
Subject Index |
Thread Index