AW: Multiple Inheritance / Generated Hidden Code

"Nowak, Helge" <[email protected]> Thu, 14 Aug 2025 14:43:44 +0000
Newsgroups gmane.comp.lang.smalltalk.vwnc
Message-ID <DS7PR13MB47192F443EDC0BA82F95808DA435A@DS7PR13MB4719.namprd13.prod.outlook.com>
In the early 2000-s there had been:
- SmallInterfaces
- VWTraits

Both are in the Public Store but fail to load in a current VisualWorks vers=
ion. Yet they can surely be reactivated if someone chooses so.

SmallInterfaces had been delivered in the "contributed" section of VisualWo=
rks until VisualWorks 9.2.1. It doesn't load without error but it will be e=
asier to fix from there.

Arbor had an "MI" add-on to VisualWorks. I have never seen it myself. No id=
ea what happened to it.
In 1993 the "PMI" "Pragmatical Multiple Inheritance" had been developed at =
universities and given to the public domain: https://urldefense.com/v3/__ht=
tps://rmod-files.lille.inria.fr/Archives/TheSmalltalkReport/PDFS/ST/91_95/S=
MAL0302.PDF__;!!DZ3fjg!89vs_Iet02OOdLqN46Ov7LDyn_K9e1G4DFamG9piWi4X-k4jSILt=
c5zEP9cfVEBvPD4_zehnNcIQSdg$ . A quick research didn't reveal a current dow=
nload site. You may want to invest more time.

Having said that, none of this hasn't got wide acceptance. Probably because=
 the problems they were thought to be solving weren't in the end so ubiquit=
ous that it made sense to pursue them any further. If the situation has cha=
nged I encourage you to go ahead, from scratch or based on some of the abov=
e.

My 2 Cents

Helge Nowak
Cincom Smalltalk Technical Account Manager

Cincom Systems GmbH & Co. oHG
Humboldtstra=DFe 3
60318 Frankfurt am Main=20
GERMANY
office
mobile

website
email
+49 89 89 66 44 94
+49 172 74 00 402

https://urldefense.com/v3/__https://www.cincomsmalltalk.com__;!!DZ3fjg!89vs=
_Iet02OOdLqN46Ov7LDyn_K9e1G4DFamG9piWi4X-k4jSILtc5zEP9cfVEBvPD4_zehnJ2zboUY=
$=20
[email protected]
A standpoint is an intellectual horizon of radius zero. -- Albert Einstein

Gesch=E4ftsf=FChrer/Managing Directors: Karl William Gilbank
oHG mit Sitz/based in Frankfurt am Main (Amtsgericht Frankfurt am Main HRA =
50297)
Pers. haftender Gesellschafter/Partner liable to unlimited extent:
Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht K=F6nigstein/Ts. HR=
B 5069)=20
=A0
--- CONFIDENTIALITY STATEMENT ---
This e-mail transmission contains information that is intended to be privil=
eged and confidential. It is intended only for the addressee named above. I=
f you receive this e-mail in error, please do not read, copy or disseminate=
 it in any manner. If you are not the intended recipient, any disclosure, c=
opying, distribution or use of the contents of this information is prohibit=
ed, please reply to the message immediately by informing the sender that th=
e message was misdirected. After replying, please erase it from your comput=
er system. Your assistance in correcting this error is appreciated.


-----Urspr=FCngliche Nachricht-----
Von: [email protected] <[email protected]=
lschool.illinois.edu> Im Auftrag von andre
Gesendet: Donnerstag, 14. August 2025 12:39
An: [email protected]
Betreff: Re: [vwnc] Multiple Inheritance / Generated Hidden Code

CAUTION: This email originated from outside of Cincom's email system. Do no=
t click links or open attachments unless you recognize the sender and know =
the content is safe. Thanks - If in doubt, contact the Service Desk at it.s=
[email protected] or your local IT personnel.


[Some people who received this message don't often get email from on.the.ti=
[email protected]. Learn why this is important at https://urldefense.com/v3/=
__https://protect.checkpoint.com/v2/r01/___https:/*aka.ms/LearnAboutSenderI=
dentification___.YzJ1OmNpbmNvbXN5c3RlbXNpbmM6YzpvOmU5NjkxOWI2ZjA4NjRiMzgxYz=
RiNTc5NzIyMTgyMzE0Ojc6MDNiYzphODZmZGExZWFjZDhmOGFmNDM0YjllZTM5YWVhMGViNzg5N=
jJhOWQwNGE1ZDljMzAzYTA3NDczNzUwOTlkMWUwOnA6RjpO__;Lw!!DZ3fjg!89vs_Iet02OOdL=
qN46Ov7LDyn_K9e1G4DFamG9piWi4X-k4jSILtc5zEP9cfVEBvPD4_zehnB7zJv9M$  ]

Thanks everyone for your input.

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

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

David: I agree that hidden code is not ideal as Smalltalk can't properly se=
parate it from the rest. A custom compiler looks like a much better idea. T=
hanks for pointing this out. It could handle this without cluttering the im=
age. But as you noted it's a huge effort that's probably not a rewarding in=
vestment 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 comp=
lex UIs you can imagine, which, thanks to MI, is surprisingly effective and=
 productive. So I'm trying to merge the best of both worlds.

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 debug=
ger doesn't sound like a good deal when static analysis reliably catches al=
l cases within seconds. There are other reasons why C++ often is a pain.