Le 30 mars 2015 à 13:20, Tudor Girba a écrit :

Hi,

Thanks a lot for your interest in this slightly forgotten area :).

About the name: Moose is a platform for software and data analysis. It is not FAMIX :). Moose-Algos is an independent project. It has its own Configuration, repo and build job:
https://ci.inria.fr/moose/job/moose-algos/

I saw that and it is a really good point.
My remark is more about the visibility of this project. It is not very intuitive to search for graphs algorithms in moose-algos.
But this remark is also true for a lot of other packages outside Moose.

More comments inline.

On Mon, Mar 30, 2015 at 11:38 AM, Christophe Demarey <Christophe.Demarey@inria.fr> wrote:
Hi,

Packages in MooseAlgos are quite independent of Moose. I wonder if it would be good to have them as an independent project. In fact, they are not far from being independent (some dependencies to break) but the name of the project does not reflect that. Maybe it is something that prevents other developers to use these algorithms. I personally think MooseAlgos will benefit from a name without Moose. 'Algos' is not a good name  and it is difficult to find a good one because there are algorithms for graphs (mostly), clustering, and matrix. There is also a package with code under the BSD license. Need to split? Name ideas?

Here are the dependencies (only static analysis, I do not know if there are some runtime dependencies not detected) :
  • Moose-Algos-Graph has a dependency on Moose-Core because Moose-Algos-Graph defines an extension method cyclesToAll: for MooseGroup. It is very strange. #cyclesToAll: is only called by FAMIXNamespaceGroup>>#cyclesToAllProviderNamespaces in the Famix-Extensions package. This methods has no senders. Either MooseGroup>>#cyclesToAll and  FAMIXNamespaceGroup>>#cyclesToAllProviderNamespaces should be removed or moved MooseGroup>>#cyclesToAll should be moved to #FAMIXNamespaceGroup. WDYT?

Indeed, it is wrong for Moose-Algos to extend Moose-Core. We have to move those into Moose-Finder.

Why do you want it in Moose-Finder? Moose-Finder has no direct dependency to Moose-Algos-Graph. In the same time, Famix-Extensions already has 2 references to Moose-Algos-Graph (through FAMIX-Graph-Traverser).
I want to be sure before moving stuff.

 
  • Moose-Algos-Clusturing depends on Moose-Core because MalClusterEngine>>performClusteringShowProgress: references MooseCustomTask. I don't know how to break this dependency.

MooseCustomTask should be replaced with the Job class that comes with Pharo.

Only in this context or globally?