For anyone who is interested, I've been working on a Grammatical Evolution (GE) [Conor Ryan, JJ Collins and Michael O'Neill, 1998] <http://en.wikipedia.org/wiki/Grammatical_evolution#cite_note-1> library:
https://github.com/abeschneider/GrammaticalEvolution It is not quite ready to reach version 0.0.0, though it does have decent test coverage. Included is an example to optimize a mathematical expression to match some arbitrary ground truth. For those who are not familiar with (GE), it is an Evolutionary Technique that is similar to Genetic Programming (GP). However, unlike GP, it doesn't suffer the same problems with fixing damaged trees. Instead, it uses a grammar that is combined with a genome of integers. The genome is used to select which branch to follow for or-rules. Julia is a really nice language to implement GE due to its ability to inject new code into the current program (thus no need for an auxiliary grammar or parsing of strings) as well as macros that allow a grammar to be easily defined. Add to that the ability to easily distribute code that can be compiled in a JIT manner means it's possible to get very good speeds with the library (note: currently no benchmarking has been done and I still haven't written the code to distribute the workload).