lua-users home
lua-l archive

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




On Tue, Nov 27, 2018, 01:55 Coda Highland <chighland@gmail.com wrote:
On Mon, Nov 26, 2018 at 8:51 PM Soni L. <fakedme@gmail.com> wrote:
>
> Suggestion: Don't assume (or use) inheritance. Or at least don't mix inheritance with components.
>
> Rust has traits, which are somewhat similar to components, but it doesn't have inheritance. That's because mixing traits/components and inheritance is, at best, messy.

So on the one hand, you're completely right. Traits are a much better
model for this than inheritance, and mixing traits and inheritance can
indeed get quite messy.

But on the other hand, that still leaves the matter of "what's the
best way to implement traits in Lua?" as a question to be discussed.

/s/ Adam

Sorry, uh, is it okay if I ask what you mean by that?

I mean, I was specifically saying these shouldn't be a thing:

foo:thing.other.more.why() -> foo.thing.other.more.why(foo)

foo.thing.other.more:why() -> the ability to use self.super.super.super to access foo

Mostly because they look nothing like traits, but also because they look like some weird attempt at inheritance?