Re: Multiple Inheritance / Generated Hidden Code

andre <[email protected]> Thu, 14 Aug 2025 12:39:22 +0200
Newsgroups gmane.comp.lang.smalltalk.vwnc
Message-ID <[email protected]>
Thanks everyone for your input.=20

I am aware of Traits in Pharo but was specifically looking for something =
made for VisualWorks. Sorry if I wasn't clear about this. I will have a =
closer look if some of it could be ported.

A light-weight "Interfaces" utility I have implemented already checks =
specific protocols for completeness. It's better than nothing, but if it =
was extended to a more comprehensive inheritance system, it would =
seriously impact runtime performance which is already at the limit of =
what most users can tolerate. Hence the idea of compiling derived code.

David: I agree that hidden code is not ideal as Smalltalk can't properly =
separate it from the rest. A custom compiler looks like a much better =
idea. Thanks for pointing this out. It could handle this without =
cluttering the image. But as you noted it's a huge effort that's =
probably not a rewarding investment at this time.

> You are trying to do static analysis.


Absolutely. I'm very familiar with Smalltalk and its paradigms. At the =
same time I'm working on media applications in C++ with  probably the =
most complex UIs you can imagine, which, thanks to MI, is surprisingly =
effective and productive. So I'm trying to merge the best of both =
worlds.=20

Static analysis is extremely helpful later in the product cycle =
(deployment, maintenance), while dynamic agility is best at the =
beginning (prototyping, modeling, experimentation). Spending 50% of =
development time in the debugger doesn't sound like a good deal when =
static analysis reliably catches all cases within seconds. There are =
other reasons why C++ often is a pain.