Clojush
Clojush copied to clipboard
The Push programming language and the PushGP genetic programming system implemented in Clojure.
So I'm trying to write tests for the `Interpreter` "routing" system, which is the cascade of recognizers that send items on the `:exec` stack to the appropriate other stacks. At...
When we try to run `lein check` or `lein doc` it [raises a bunch of exceptions](https://github.com/lspector/Clojush/pull/167#issuecomment-148392196), because the instruction files modify global state and the problem files actually try to...
Specifically [this line](https://github.com/lspector/Clojush/blob/master/src/clojush/pushstate.clj#L42) throws an exception when an instruction is registered with the same symbol as a previously registered one. Unfortunately, this seems to be the breaking point whenever the...
When we added `:is-random-replacement` to the logged output (a00bde2e82386e9e53e43e816c7f4287403d6329) I didn't notice that that field doesn't have a value for the initial population, which means we have an empty value...
In `csv-print` there is a `filter` that significantly limits the set of output fields that can be printed: ``` clojure (let [columns (concat [:uuid] (filter #(some #{%} csv-columns) [:generation :location...
`lein run clojush.problems.classification.intertwined-spiral` fails with error stemming from obsoleted instr-paren-requirements. grep revealed the same problem in dsoar, but trying that failed for another reason first: `lein run clojush.problems.control.dsoar` fails with...
It would be cool to have higher-order function instructions like map, reduce, and filter in Clojush. Maybe they'd only be defined on the array-like types (string, vector_integer, vector_boolean, etc.), or...
`lein run clojush.problems.software.calc` produces ``` text Number of tests: 10 Behaviors: [{:old-tests [[[:zero] 0.0 false] [[:one] 1.0 false] [[:two] 2.0 false] [[:three] 3.0 false] [[:four] 4.0 false] [[:five] 5.0 false]...
(Noted while Tom pointed out several instructions do not return `push-state` objects.) Failing Midje test: ``` clojure ;; sanity check (fact "the top-item utility function should not return :no-stack-item when...
At the moment almost all instructions are defined using a macro called `define-registered` which does a bunch of stuff to register the instructions in a global catalog and so forth....