Code for my blog post "Generating Mazes with Inductive Graphs"
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This is the code accompanying my blog post: Generating Mazes with Inductive Graphs.

Build instructions courtesy of Mike Xie and Rianna Morgan


libcairo is a C++ library, their site and instructions on how to install by OS can be found here:

On Ubuntu, you can install it with apt-get:

sudo apt-get install libcairo2-dev

Installation with Cabal

Get the project:

git clone
cd inductive-mazes

If your cabal bin directory is not in your PATH, add it:

export PATH=$HOME/.cabal/bin:$PATH  – or wherever your cabal directory is

The project should probably be built inside of a sandbox.

cabal sandbox init

cabal install gtk2hs-buildtools
cabal install inductive-mazes.cabal

Installation with Stack

Building under Stack is quite simple and obviates the need for building within a cabal sandbox.

Get the project:

git clone
cd inductive-mazes

From within the project directory, run:

stack init

Stack will then install the packages locally for the project.

Interactive Use

Run the following inside the inductive-mazes directory:

cabal repl

If using stack, run:

stack ghci

Once in the ghci instance, run:

*Draw> genPng defaults "my-maze.png" 40 40
^D – exiting cabal repl

After having returned to the terminal, view the new maze file with your favourite .png views:

eog my-maze.png -- or whatever your png viewer is