| Implementation | Architecture | Status |
|---|---|---|
| CMUCL 3.x | Debian x86 | Well-tested |
| ACL 6.0 (Prof) | Debian x86 | Tested bi-weekly |
| CLISP 2.26 | Debian x86 | Tested monthly. not optimised |
| LispWorks 4.1.20 | Debian x86 | Recent/immature port. not optimised |
| LispWorks 4.1.20 | Win98 | Recent/immature port. not optimised |
| Corman Lisp 1.5b | Win98 | Incomplete port. not finished |
$ make $ clisp -q -ansi > (load "game") ;; this stops at foreign loading, use ^D to quit $ setenv LD_LIBRARY_PATH `pwd`/linking $ make clisp-link $ linked/lisp.run -B /usr/lib/clisp -M linked/lispinit.mem -q -ansi > (load "game") ;; this should work nowThis will be improved later, but it's an important step ahead. You might need to edit the paths in Makefile and linking/Makefile. For other shells use the equivalent command of setenv which sets and environment value.
> (setq *default-pathname-defaults* #p"c:/cygwin/home/default/langband/") > (load "game") > (lb::a)
The code is in development and changes relatively often and the interface for the engine that should be extensible and alterable by variants and user-code needs to gradually be worked out. This must be done gradually as I need to experiment with what is interesting to extend/alter, and what can be extended/altered and still get reasonable performance and decent-looking code.
Some of the interface will be functions which variants may
call, and sometimes with function-arguments as plug-ins.
Other parts will be generic functions which are designed to
be tailoured by a variant. Other parts are extensible
classes which variants are allowed to extend. As this
interface gets clearer it will be exported from the
:org.langband.engine package and variants will
reside in their own packages. But we're not there yet, so
vanilla currently lives in the same package.