Saturday, December 1, 2007

Announcing Jiva, a Genetic Algorithms Toolkit written in Scala

Earlier this week, I put out an initial release (version 0.1.5) of Jiva, a Genetic Algorithms (GA) toolkit that I have been working on.

Jiva is hosted on Google Code:

Jiva is written in Scala, a very powerful OO/Functional hybrid language that runs on the Java Platform:

Jiva started out life earlier this year as a GA toolkit written in Java. I decided to port it to Scala because I figured that this might be a good way for me to (a) learn Scala, and (b) have some fun in the process. And I think this has turned out to be mostly true (especially the fun part!).

I should point out that despite its early-release status, Jiva is pretty functional ( ). If you are interested in playing with Genetic Algorthms, I encourage you to give Jiva a try. If you run into problems or have questions, please let me know.

Some quick links:
Download, Build and Run Jiva:
Defining and Running GA Problems:

Other tools used by Jiva:
Sant: for builds (
JMock: for testing of Scala code (
New Scala Eclipse Plugin ( for Backlog/Task Management (

Many thanks to the authors of these fine tools! I used them pretty heavily while working on Jiva, and they all held up very well and provided extremely useful functionality.


Nat Pryce said...

Could you post something about your experiences using jMock with Scala? That sounds an interesting combination, especially as the jMock API plays such tricks with the Java 5 syntax.

Lalit Pant said...

Will do, Nat.

And thanks for all the great work that you've done with JMock! I have been using it for the past 2-3 years, and it has served me and the teams I have worked with really well during this time.

Harshad said...

I have always been wanting to experiment with GA, and jiva finally pushed me into it. Thanks for giving a new "life" to my efforts ;)

I am trying to implement a graph-layout program using jiva.

Is there a mailing-list to which I can post queries? I have a lot of them :)

Lalit Pant said...

Harshad, it is good to know that Jiva has got you going with GAs.

You can post your queries at:

Nick said...

Hi Lalit,

I can't seem to find where to change the build config so it no longer looks for the scala compiler javadoc?

Where do I change this?
The build fails because

No longer exists.



Lalit Pant said...

Hi Nick,

Thanks for catching this.

I took a quick look at the issue. Tweaking the repo search order in ivysettings.xml, so that the scala-tools repo is earlier in the search path than ibiblio, seems to fix things (I need to dig deeper to figure out why).

While I was at it, I also upgraded the build to use scala 2.7.3.

Nick said...

Hi Lalit,

Thanks for the update.
And thank you for creating Jiva.
I am just starting out with Scala and am already excited by my (albeit limited) understanding of the potential of this language.