[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: __methcall
- From: Daniel Silverstone <dsilvers@...>
- Date: Thu, 04 Nov 2004 17:58:42 +0000
On Thu, 2004-11-04 at 09:43 -0800, Mark Hamburg wrote:
[snip concerns and comments]
I think the easiest way to answer the questions regarding my patch is to
simply say..
__methcall first, then __index, then the table itself
I.E. the idea was simply to (while remaining utterly
backward-compatible) offer a way to move the methods out of a directly
indexable mechanism.
> The big benefits of __methcall seem to be:
> * Easier support for safe userdata method invocation since methods can't be
> pulled off of one object and used on another. I could see a case for
> supporting __methcall just for userdata.
The only way this becomes safe is if you go with the
foo:bar(...) ::= getmetatable(foo).__methcall(foo,"bar",...)
otherwise you can extract methods with
getmetatable(foo).__methcall(foo,"bar")
Personally I don't think it's a question of "hiding" or "making safe" --
I think it's far more a question partitioning the namespace a little
> * Separate namespaces for methods and attributes.
Indeed :-)
D.
--
Daniel Silverstone http://www.digital-scurf.org/
PGP mail accepted and encouraged. Key Id: 2BC8 4016 2068 7895