X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.md;h=18cc7a91533e144e6f76de175bcdaee5dc18f6c2;hb=5f87a9fd0bed8832115f11073e5ee9a968ee95c0;hp=4e5dcd5e371689f6b622bdd045fa6f701c3c4b5d;hpb=471de83db1aee70065808cbc061867e3320bf4b7;p=clnl diff --git a/README.md b/README.md index 4e5dcd5..18cc7a9 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,58 @@ # clnl -This is an experiment at creating an alternate implementation of NetLogo mainly as an exercise for me so that I come to understand NetLogo better. It is true for me that I only truly understand something when I can explain it to someone else without repetition. In code, this manifests as expressing a program in another language. +This is an experiment at creating an alternate implementation of NetLogo in Common Lisp. -See the [wiki](https://github.com/frankduncan/clnl/wiki) for more information at this time. +See the [wiki](https://github.com/frankduncan/clnl/wiki) for more information. -# Building +# Using standalone executables -If you'd like to build it, you're going to need a few things: +Find the latest version, [0.1.0](https://github.com/frankduncan/clnl/releases/tag/v0.1.0) on the [releases page](https://github.com/frankduncan/clnl/releases): +* [linux](https://github.com/frankduncan/clnl/releases/download/v0.1.0/clnl) +* [windows](https://github.com/frankduncan/clnl/releases/download/v0.1.0/clnl.exe) +* [mac](https://github.com/frankduncan/clnl/releases/download/v0.1.0/CLNL.dmg) +# Running from source + +If you'd like to run it from source, you're going to need a few things: + +* A copy of the clnl source (either from the [releases page](https://github.com/frankduncan/clnl/releases), version [0.1.0](https://github.com/frankduncan/clnl/releases/download/v0.1.0/clnl_0.1.0.tar.gz) or via cloning) * An implementation of sbcl with threads enabled -* The following common lisp libraries (included in deps/tarpit folder) - * cl-opengl +* The following common lisp libraries (included in [deps/common-lisp](deps/common-lisp) folder) * alexandria * babel * cffi + * clnl-gltk + * cl-opengl + * cl-ppcre * ironclad * mt19937 * nibbles * trivial-features - * style-checker -* rlwrap + * strictmath + * ieee-floats -# Running - -bin/nl has been added for convenience to run the netlogo instance. Currently it bombs if you try to do anything to expressive with it. A good test is +[bin/nl](bin/nl) and [bin/run.lisp](bin/run.lisp) have been added for convenience to run the netlogo instance. Not very many commands are implemented, but it should alert you to that. A good test is ``` crt 10 ask turtles [ fd 1 ] show random 5 +ask turtles [ fd 5 ] ``` +## Running on OSX + +In order to run on OSX, you may have to build your own sbcl instance with threads enabled. See [bin/buildosxexec.sh](bin/buildosxexec.sh) for how it's done when releasing/testing. + +## Running on Windows + +In order to run on Windows, you will need to install a copy of 32bit sbcl with threads enabled, as well as putting a copy of freeglut in that directory. See [bin/buildwindowsexec.sh](bin/buildwindowsexec.sh) for how it's done when releasing/testing. + +# Running in a common lisp instance + If you'd like to run using your own sbcl instance, you can attach the clnl.asd file wherever you link asd files, and then use: ```lisp (asdf:load-system :clnl) -(sb-thread:make-thread #'clnl-interface:run) (clnl:run) ``` - -# Testing - -If you'd like to see the tests go on your system, there's a number of utilities to look at: - -* bin/test.lisp -* bin/diagnose-test -* bin/diagnose-view-test -* bin/test-mode