Hi Andrea,
(and doru incidently)
The "more generic" part of your goal was not explicited in the previous email,
so the mention of moosechef and the examples, led me on a wrong path.
you can safely ignore my previous comment :-)
Now, keeping an analogy with MooseChef, it implements thing that you might want to
consider (at this level of abstraction it's a bit hard to tell):
- relation vs. entities
can you filter the results to return either the relationships or the entities they relate?
Is that what 'asMooseGroup' is doing? If so you might want to consider some other
name (eg 'asEntities')
- relation roles
MooseChef allows to request either the 'to' or 'from' end of an
association, can you similarly specify the 'selector1' or 'selector2' (or
'selector3', ...) roles of your generic relationship?
- scoping
Can you restrict the resulting entities/relationship to be of a given type ?
as we are at a very abstract level, it might be better to offer a filterBlock and let the
user define what kind of filter he whishes to apply?
nicolas
PS: I had a glance at your code. The mehtods look suspiciously long for a smalltalk
implementation ...
----- Mail original -----
De: "Andrea Caracciolo"
<andyy.mailbox(a)gmail.com>
À: "Moose-related development" <moose-dev(a)iam.unibe.ch>
Envoyé: Mardi 19 Juin 2012 11:44:52
Objet: [Moose-dev] Re: Lift
Hi Nicolas,
You are right, the syntax of moose chef is more
elegant.
But the point of creating a new extension was to offer the option to
express more generic queries.
If you are working on a moose model which represents a
Java program,
you can easily use moose chef and get what you need.
But if the model you are analyzing is of a different kind (a famix
extension or a generic moose model) and provides unforseen selectors
and entities, what can you do ?
You have to look at Lift as a less domain-bound
version of chef, not
necessarily as a chef replacement.
Did i understand your question correctly ?
Does it make sense to you ?
Andrea
On Jun 19, 2012, at 11:06 AM, Nicolas Anquetil wrote:
I had a quick
look at Lift.
Being able to express the queries on MooseGroups
is a nice addon.
But I think it
would have been much nicer keeping the syntax of
MooseChef.
(aNamespaceGroup lift: #incomingInvocations from:self mooseModel
allMethods) asMooseGroup
aNamespaceGroup queryIncomingInvocations atNamespaceScope
which
according to MooseChef syntax should return the same thing ?
I trust you
will agree the second is more elegant , and it has the
advantage of keeping the same syntax, so we don't need to learn a
new syntax
On 18/06/12
14:39, Andrea Caracciolo wrote:
I developed a small extension which allows to query a
moose model
to
obtain a set of implicit associations derived from low level
relationships.
What you
can do concretely is for example to select a group of
namespace entities, and ask for all implicit associations
existing
between the selected entities based on a specific relationship
existing at a lower abstraction level (i.e.: the method level).
The end
result is much similar to the one provided by Moose Chef,
with the advantage of being much more generic and flexible.
Each
generated association keeps a reference to the concrete
relationships on which it is based on.
If you are interested, you can try it out at:
http://www.squeaksource.com/Lift.html
The wiki
page contains some usage examples.
> > > cheers,
> >
>
> >
Andrea
> >
>
_____________________________ Andrea Caracciolo --
caracciolo(a)iam.unibe.ch
Software
Composition Group
_______________________________________________
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev