The Revival of PyshGP

I have revived pyshgp. A python package for doing PushGP. Program synthesis, or “programming by example,” has been steadily getting more attention each year. Some simple systems are relatively well known, such as Excel’s Flash Fill and SKETCH. The more capable (and complex) systems have been largely relegated to niche research communities, each busy exploring their respective regions of the frontier. As the field continues to gain traction, we would hope to see a convergence of ideas and the emergence of well understood techniques and tools. [Read More]

Managing Maven Archetypes in IntelliJ

Recently I started using IntelliJ for Scala development. When you install IntelliJ you can also install it’s Scala plugin and hit the ground running using SBT. However, I needed a maven project. Starting maven projects is much easier when you start from a maven archetype. An archetype is a template of a project. In my case, I wanted to use a basic Scala archetype which provided everything I would need to write my application and tests in Scala. [Read More]

Pretending Clojure Has Argument Defaults

Although Clojure doesn’t have the ability to specify the default value of a function argument, it is common to use multiple function signatures to achieve serve the same purpose. We can also “destructure” a variadic function (function is arbitrary number of arguments) to get default argument values. Simple Example A great example of having default values for function arguments is the range. Of course, this function is built into Clojure but it makes a great demonstration of default argument values. [Read More]