Release 0.1.1, remove windows/osx release targets
[clnl] / README.md
1 # clnl
2
3 This is an experiment at creating an alternate implementation of NetLogo in Common Lisp.
4
5 # Using standalone executables
6
7 Find the latest version, [0.1.1](https://code.consxy.com/gitweb/gitweb.cgi/clnl/commit/0.1.1) on the [releases page](https://consxy.com/clnl/releases):
8 * [linux](https://consxy.com/clnl/releases/0.1.1/clnl)
9
10 # Running from source
11
12 If you'd like to run it from source, you're going to need a few things:
13
14 * A copy of the clnl source from the [releases page](https://consxy.com/frankduncan/clnl/releases), version [0.1.1](https://consxy.com/clnl/releases/0.1.1/clnl_0.1.1.tar.gz)
15 * An implementation of sbcl with threads enabled
16 * The following common lisp libraries (included in [deps/common-lisp](deps/common-lisp) folder)
17   * alexandria
18   * babel
19   * cffi
20   * clnl-gltk
21   * cl-opengl
22   * cl-ppcre
23   * ironclad
24   * mt19937
25   * nibbles
26   * trivial-features
27   * strictmath
28   * ieee-floats
29
30 [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
31
32 ```
33 crt 10
34 ask turtles [ fd 1 ]
35 show random 5
36 ask turtles [ fd 5 ]
37 ```
38
39 # Running in a common lisp instance
40
41 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:
42
43 ```lisp
44 (asdf:load-system :clnl)
45 (clnl:run)
46 ```
47
48 # strictmath
49
50 Pure common lisp implentation of Java's StrictMath class.  StrictMath is based on the pure software math library fdlibm, and as such, this solution should be equivalent and portable.
51
52 ## Limitations
53
54 In the true "scratch an itch" category of software development, this library only does things as strictly needed by clnl in order to be consistent with regard to the JVM implementation of NetLogo.  Only the following things are implemented and tested:
55
56 * Double precision only
57 * Bounded to [0,360] or [0,2pi] only
58 * The following StrictMath methods
59   * sin
60   * cos
61   * abs
62   * toRadians
63
64 Anything else that works can be considered a pleasant surprise.
65
66 ## License
67
68 This library lifts substantially from the evita-common-lisp implementation, as is noted in the LICENSE file.  Outside of that, functions are attempted ports of fdlibm functions, in as close as possible to a line for line translation.  As such, the files are similarly bound by the licenses included therein.
69
70 ## Dependencies
71
72 The following are depended on by strictmath
73
74 * ieee-floats
75
76 # clnl-gltk
77
78 This is a small experiment in creating some of the underlying tools that allows CLNL to implement NetLogo UI functionality.