57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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](http://pushlanguage.org).
|
|
|