mars0i / forage

Random foraging models
GNU General Public License v3.0
0 stars 2 forks source link

forage

Random foraging models in Clojure. Work in progress. More documentation in the future.


There are now multiple standard build tools for Clojure. One way to use this project is to use Leiningen: To start a REPL in a terminal so that you can play with the code here, install Leiningen. Then cd into the forage directory and run lein repl (or use one of the scripts in src/scripts). Leiningen's project.clj file will download and install all of the needed libraries except MASON 20 (see below).

However, this also set up to use CLI and deps.edn. I've tried to keep deps.edn and project.clj in sync.


Currently, this project uses a couple of classes from MASON, a Java library for agent-based modeling. (However, the simulations in this project are not agent-based at present.) To use MASON, download mason.20.jar from https://cs.gmu.edu/~eclab/projects/mason . (If you were going to use MASON in a full-fledged manner, you'd also need some other files as well.) Then install that jar file in your local Maven configuration so that Leiningen can find it. In unix systems such as MacOS, your local Maven repoistory is probably in $HOME/.m2 . You can use Leiningen to perform the installation if you want: Temporarily add this line to project.clj (e.g. just before :source-paths).

:plugins [[lein-localrepo "0.5.3"]]

Then start the repl, and run

lein localrepo install <jarfilepath> MASON 21

where <jarfilepath> is a string containing the full path and filename for your mason.20.jar file. This will copy the file to the appropriate place under .m2, and will add an additional pom configuration file. After this, you can delete the above :plugins line.