/CMLife

Functional Game of Life on C++. Uses functional declarative design and functional idioms (comonads, zippers etc.)

Primary LanguageC++

CMLife

This is a showcase project of functional design and functional programming in C++.

Code contains:

  • Game of Life automata (2 dims, 2 states).
  • Pregrnancy oscillator automata (1 dim, 3 states).
  • Comonads for automata mechanics.
  • Parallel map (mapPar).
  • Parallel and async evaluation of GoL.
  • Tests and benchmarks.

N.B. Unfortunately, this project doesn't contain any GUI to display cellular automata. See tests instead.

Installation

Run in the project dir:

git clone --branch v0.1_showcase git@github.com:graninas/cpp_functional_core.git ./lib/cpp_functional_core
git clone --branch v0.1_showcase git@github.com:graninas/cpp_monads.git ./lib/cpp_monads
git clone --branch v0.2_showcase git@github.com:graninas/cpp_lenses.git ./lib/cpp_lenses

Then build with Qt.

See also: Amber

Showcase of functional declarative design in C++.

Game about Amber from The Chronicles of Amber.

https://github.com/graninas/Amber