Hi,
On Nov 26, 2016, at 2:02 PM, stepharo stepharo@free.fr wrote:
Hi doru
Hi,
As I mentioned at ESUG, I am really happy to see this effort, and I will support it. Modeling is an important piece in Moose, and being more flexible at creating new models is a significant added value given that Moose. Please keep me in the loop.
I am particularly interested in the object model of the meta-meta-model, and in the mapping to the Pharo classes that contain the implementation of the meta-model. I believe a Traits-based model would work well (I will try to list my ideas of how this could work later).
Using Slots is definitely something we already should have done in Fame, and I think it will work very well at least on the implementation level of the meta-model.
About syntaxes, I have less predilection for those, but I understand why they can be appealing. I believe that we should first favor Pharo, and only afterwards other DSLs. For example, if we insist of having the meta-model code separately, I believe that we should be able to produce the meta-description also through a fluent API (so, the fluent API is one of the syntaxes). Still, if we express the meta-model separately from the meta-model implementation, the question is remains about how we do the mapping.
I kind of agree. Now I do not want to people feel that we still their ideas and that they get stuck with their syntaxes.
I think I am missing a part of the picture. What do you mean by “stealing"?
About types, I also disagree with the comment from Guillaume :). One place where types can be relevant is when producing interfaces for editing objects, but I think that that does not have to be the main driver of the design of the new meta-meta-model. The only thing that I think is important when it comes to types is to allow us to reproduce the basic meta-model implementation in other languages that do rely on rigid static types. For example, right now, Fame generates the relations implementation using this information.
Yes there is a difference between saying
the type of "to" of this relation is Container
the type of to of this relation is the class of the object that will be the to of the relation
based on the instantiation of the relation. It is like anchor-type. you may want to say this variable is the same type as this one or the same type as whaeveter. and not hardcode the type once for all.
Exactly. For example, MultivalueLinks that model the bidirectional relationships in Fame work at the Pharo level and they do not care about type. The static information is actually only meaningful when we generate code.
Perhaps one option would be to have some sort of optional types for the scenario in which someone would like to maintain these types. Or maybe we find another solution.
In any case, I do not necessarily have a predefined solution in my head, but I do have requirements. And I would like to spend effort on this at least at the level of feedback and prototyping.
Ok we do not have either a predefined solution. Now we do not want to focus on interexchange constraints more on empowering our infrastructure.
That makes sense. That is why I said that I am interested to spend effort :).
Cheers, Doru
Cheers, Doru
On Nov 26, 2016, at 9:58 AM, stepharo stepharo@free.fr wrote:
Hi
What we will try to do with Pavel, alain, anne and me (probably nicolas) in contact with Peter starting january is the following
Define another metametamodel (trying to use Pharo + Slot for relationships + invariant = Pharom) - this metameta should be able to have different syntaxes OpenPonk, Express, Pharo - This metameta should does not need types :) sorry I did not get at all the remark of guillaume And in particular there is a difference between a static type and a concrete type systems.
Take Famix 3 -> Famix3NG and break it appart to get composable pieces and use Pharom to describe FamixNG
We are open to discussions but to a certain extent.
Then we will work on optimise for space. In addition we will do a call to collect all the points that should be improve in Moose.
We will collect prioritze and tackle them
Stef
-- www.tudorgirba.com www.feenk.com
"Yesterday is a fact. Tomorrow is a possibility. Today is a challenge."
-- Using Opera's mail client: http://www.opera.com/mail/
-- www.tudorgirba.com www.feenk.com
"What we can governs what we wish."