Nic McPhee d1e863a23a Start test.check tests on vector instructions
This is a start on using `test.check` to write tests for the vector instructions. We currently have tests for:

   * `vector/_emptyvector`
   * `vector/_indexof`
   * `vector/_subvec`

There are _lots_ of other functions still to be tested.

This did reveal errors in `vector/_subvec`, which will be addressed in the next commit.

We used macros to make it easy to generate tests for each of the four vector types; this should be extensible to additional vector types in the future if needed.
2020-12-17 15:56:27 -06:00
2020-06-29 19:27:00 -04:00
2020-06-07 11:13:33 -04:00
2020-07-15 22:23:42 +09:00
2020-12-17 08:15:40 -06:00
2020-06-07 11:13:33 -04:00
2020-06-07 11:13:33 -04:00
2020-07-15 22:44:25 +09:00
2020-07-15 22:23:42 +09:00

propeller

Yet another Push-based genetic programming system in Clojure.

Usage

To run PushGP on the default genetic programming problem from a REPL, load propel.core into your REPL (i.e. lein repl), and run (-main).

To run PushGP on the default genetic programming problem from command line, execute lein run. Command-line arguments may be provided to override the defaults specified in -main, for example, lein run :population-size 100. You can use something like lein run | tee outfile to send output both to the terminal and to outfile.

CLJS Usage

Development

Run in development:

yarn
(mkdir -p target && cp assets/index.html target/)
yarn shadow-cljs watch app

shadow-cljs will be installed in node_modules/ when you run yarn.

:dev-http specifies that target/ will be served at http://localhost:8080 .

REPL

After page is loaded, you may also start a REPL connected to browser with:

yarn shadow-cljs cljs-repl app

Once the REPL is loaded, load the core namespace with:

(ns propeller.core)

Calling (-main) will run the default genetic programming problem.

Description

Propel is an implementation of the Push programming language and the PushGP genetic programming system in Clojure.

For more information on Push and PushGP see http://pushlanguage.org.

Description
A fork of Dr. Lee Spector's Propeller mainly for learning.
Readme EPL-2.0 6.1 MiB
Languages
Clojure 97.9%
Python 1.7%
Nix 0.3%