/hsudoku

experiment compiling a haskell program on /windows based on https://github.com/mmsbrggr/hsudoku

Primary LanguageHaskellMIT LicenseMIT

λsudoku

Travis GitHub issues GitHub stars GTK version GitHub license


AppearanceMotivationInstallationUsageTestsDocumentation


Appearance

Menu Gameplay

Motivation

λsudoku was born in a haskell universty course at the technical university in Vienna. The goal was to create a neat looking and user-friendly haskell game using modern technologies and libraries, namely GTK3 and haskell-gi. The sudokus get loaded from the internet, parsed in haskell and made playable through a native gtk interface. Special thank goes to Kjell Ericson for letting me use is sudoku generator web-app.

Installation

λsudoku has a few prerequesites. If they are already installed on your system, you can skip the following steps.

  • At least GHC 8.0.2 and cabal 1.24
sudo add-apt-repository -y ppa:hvr/ghc
sudo apt-get update
sudo apt-get install cabal-install-1.24 ghc-8.0.2
export PATH=/opt/ghc/8.0.2/bin:/opt/cabal/1.24/bin:$PATH
  • GTK+3.20 and other packages needed for the UI
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt-get update
sudo apt-get install build-essential libgtk-3-dev libgirepository1.0-dev libcairo2-dev libgdk-pixbuf2.0-dev
  • The happy haskell package
cabal update
cabal install happy

With all dependencies in place, the hsudoku game can be installed:

git clone git@github.com:marcelmoosbrugger/hsudoku.git
cd hsudoku
cabal install --only-dependencies
cabal build

Usage

If everything is installed the game can be run from the installation folder:

dist/build/hsudoku/hsudoku

Tests and Coverage

Tests can easily be run with:

cabal test

Documentation

Documentation of the code and the hackage package can be found on hackage/hsudoku

Licence

This project is licensed under the terms of the MIT license. See the LICENSE file.