Skip to content
Conway's Game of Life written in Haskell, using ncurses
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
Main.hs
README.md
Setup.hs
Simulation.hs
game-of-life.cabal
stack.yaml

README.md

Game of Life with ncurses

This is an implementation of Conway's Game of Life written in Haskell, using ncurses for display.

asciicast

Installation

Installing from Hackage requires a working cabal installation (or stack):

cabal update 
cabal install game-of-life
game-of-life # Make sure ~/.cabal/bin is in your path

Running / Testing

First, install stack. curl -sSL https://get.haskellstack.org/ | sh will work on most Unix systems, otherwise checkout https://docs.haskellstack.org/en/stable/README/ . If you haven't run other Haskell projects on your system, the first time you try to build the project it may say you have to run stack setup; do so.

Note that you'll need the ncurses header files on your system. OS X should have these installed by default. Some Linux distros won't, running sudo apt-get install libncurses-dev (replace apt-get with package manager of choice) should fix any issues.

Running:

stack build && stack exec game-of-life

Testing:

stack build && stack test

Installing:

stack build && stack install .

Notes

  • Currently doesn't handle resizing the shell during execution
  • The screen doesn't update fast enough sometimes, causing tearing / lag / unresponsiveness. Seems to have more to do with ncurses / the shell than the speed of the simulation
  • Some linux distros cause the program to crash (and mess up the user's shell since the ncurses cleanup commands don't run)
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.