Cellular Automata Library for OCaml

Useful functions for generating, displaying, and analyzing cellular automata.


Table of Contents

  1. What is the Cellular Automata Library?
  2. How do I use the library?
  3. How can I contribute?
  4. Bugs.
  5. Screenshots.

What is the Cellular Automata Library?

The purpose of the library is to have a simple way to generate and analyze cellular automata from the OCaml language, similar to certain functionality found in Mathematica and other software. It is not a stand-alone program that creates cellular automata; rather, the goal is to provide that functionality under a standard interface allowing such a program, or any other program that makes use of cellular automata, to be easily written.

Back to Top

How do I use the library?

There will be a standard interface across the library, with a common type defined by a record for each automata generated. Similar to other OCaml libraries, there will be a "make" function that will take certain parameters to generate an automata (such as the rule or code of the automata, the number of generations, and the starting conditions, etc.). The interface has not been finalized, as the project is still in early development. A comprehensive library documentation will be generated with ocamldoc once it is officially released.

Back to Top

How can I contribute?

The Cellular Automata Library project needs developers. Go to the project page at forge.ocamlcore.org and request to join. Any ideas, tips, suggestions, or feature requests please use the project page, or contact mhtraylor@NO@SPAM@gmail.com.

Back to Top

Bugs.

The current preview release lacks many features, and only has functionality for generating elementary cellular automata. Some problems with the current implementation include lack of proper boundary condition handling, and speed issues with automata of several thousand generations or more. The code for generating an automata currently uses arrays and is unoptimised.

Back to Top

Screenshots.

Some screen captures of cellular automata generated by the library, plotted using the OCaml Graphics module. Images of totalistic cellular automata where generated using an as-of-yet unreleased version of the library.

Back to Top

Author: Matthew Traylor