Creatures implementation

The creatures system is implemented in Common Lisp, almost entirely in Common Lisp 1.

The structure of the implementation

The main parts of the implementation are:

Structure type definitions
The types used by the evaluation framework are defined
Global variables
I generally avoid these, but there are a few, mostly to define namespaces:
Some useful macros
These cover hash table lookups and so on
The evaluator framework
This is the specialized lisp evaluator for s-expressions in a genome.
Language and operator handling
This is for defining operators for the specialized evaluator. Defining an operator is more than just a defun, as the number and type of arguments, and type of the result, must be declared to allow type-strict crossover.

Getting the source

On some instances of my web tree, you may be able to pick the source up directly. If you're not within an area of the network within which I've made such open access to the source, you could try Contact me and I may be prepared to mail the source out -- but probably not for quite some time yet, as it's far from ready!

The creatures system
[Creatures index] [alife index]
John C. G. Sturdy
[research index] [John's home] Last modified: Sun Sep 25 21:59:54 GMT Daylight Time 2005