/golem

game of life emulator

Primary LanguageHaskellGNU Affero General Public License v3.0AGPL-3.0

golem

[WIP] Yet another Game of Life emulator.

🚨 Not done but has parts worth sharing! 🚨

why

This is an excuse for the author to experiment with reactive UI patterns and types first, and a mildly interesting game of life viewer / editor second. Inspired by the work of Arthur Xavier and Phil Freeman.

Specifically, the behavior of an application can be thought of as a space exposing certain capabilities or resources; when this space is a comonad then one may automatically define a language of valid actions to move around the space.

building

This project uses Cabal 3.x.

> git clone https://github.com/gatlin/golem
> cd golem
> git submodule update --init
> cabal configure
> cabal run golem -- examples/pulsar.golem # or examples/glider.golem

There is an external dependency on my bindings to termbox2 which is included as a submodule for your convenience.

issues / concerns / merge requests

Feel free to use the Github interface or contact me at gatlin+golem@niltag.net.