On 4/16/10 10:05 AM, Sean Owen wrote:
Clojure isn't my cup of tea but that's not important.
It's an interesting question, how much belongs under the Mahout tent?
There's a tradeoff between excluding useful extensions to the project
on the one hand, and becoming a spare parts bin of code of varying
levels of maturity and support.
I'm inclined to see Mahout built, like any project, in layers. We've
done a good job of that, with collections supporting math, supporting
core, supporting examples/utils. core remains uneven, but, it's taking
shape and it's to be expected at this stage that the project has lots
of fragments that naturally come together or else are weeded out.
So I have some concern with getting even core into better shape before
considering broadening the tent to include other consumers. (We're not
talking about integrating Clojure code into core right? Yeah it ends
up as Java bytecode, but that's not quite the issue... it's not
understandable and usable to the devs that would be using Java-based
Mahout.)
And so I have moderate preference for not mixing in other languages
yet, just like with the talk of a C# port earlier today.
I'm sure it's good code and cool and useful, and deserves support and
collaboration and liaising; I'm only wondering about whether it ought
be a piece of Mahout - what is the benefit, against the subtle but
real drawbacks.
+1 I'd like to see us get to at least a 1.0 level of maturity before we
branch out into other languages. We still have a lot of refactoring and
reorganization to do and adding other languages would complicate matters
and probably end up being whip-sawed by the volatility in the Java
implementations.