Sunday, July 17, 2016

Darwin for Scala

Many years ago, I began work on an evolutionary computation (genetic algorithms) framework for Java. It's called Darwin and can be found on SourceForge here. Over the next few years, I completed it, at least as far as basic functionality is concerned. There is a genetics package, an evolution package, and a user-interface, written in Swing.

Yet, there were aspects of it that were not ideal. In particular, I tried to make the types as generic as possible, but Java simply isn't able to cope with that. You end up basically wild-carding everything which means that you're no longer getting any benefit from type-checking.

Now, that I've been writing in Scala for a few years, I've been thinking about resuscitating Darwin. I began work on the new version of Darwin a couple of months ago. It is somewhat loosely based on the original, but with a better overall architecture.

I need help so am asking for contributors. If you think you might be interested in helping, let me know (through Github would be the best way). I especially need help on the github end of things: project pages, gh pages, branching, all that sort of thing. I also need people to write unit tests (i.e. specifications) for me. Or, if you're really brave, you could help with the core library. Thanks.