Add CL style
[clnl] / README.md
1 # clnl
2
3 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.
4
5 See the [wiki](https://github.com/frankduncan/clnl/wiki) for more information at this time.
6
7 # Building
8
9 If you'd like to build it, you're going to need a few things:
10
11 * An implementation of sbcl with threads enabled
12 * The following common lisp libraries (included in deps/tarpit folder)
13   * cl-opengl
14   * alexandria
15   * babel
16   * cffi
17   * ironclad
18   * mt19937
19   * nibbles
20   * trivial-features
21   * style-checker
22 * rlwrap
23
24 # Running
25
26 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
27
28 ```
29 crt 10
30 ask turtles [ fd 1 ]
31 show random 5
32 ```
33
34 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:
35
36 ```lisp
37 (asdf:load-system :clnl)
38 (sb-thread:make-thread #'clnl-interface:run)
39 (clnl:run)
40 ```
41
42 # Testing
43
44 If you'd like to see the tests go on your system, there's a number of utilities to look at:
45
46 * bin/test.lisp
47 * bin/diagnose-test
48 * bin/diagnose-view-test
49 * bin/test-mode