I believe I already said here that I don't like very much the "default"
FAMIX metamodel in Moose because it is the union of Smalltalk and Java
specificities.
For 2 languages it works (more or less), but if we want to add C#, C++,
and whatever-else (not talking about non OO languages), it quickly
starts to be a huge mess.
It would be preferable to have a generic metamodel and specific ones for
each languages.
But then, we will run into cases where we want to have some kind of
multiple inheritance.
For example we could want to say that a Java method and a C function are
behaviouralEntities with return type and Java methods and Smalltalk
methods are behavioural entities with a received (when they are called)
and Java method now have two superclasses.
So the question arise why Fame does not have multiple inheritance?
- no specific reason?
- fundamental design decision?
- historical reason?
nicolas
--
Nicolas Anquetil -- RMod research team (Inria)