Several games

Latest on Hackage:1.7.5

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Maarten Löffler
-- GeBoP version 1.7 --

This is the readme.txt file that comes with the source code of GeBoP, version 1.7. This source consists of the following files:

* 16 Haskell source code files
* 2 Icon files
* This readme file
* 52 Bitmap images in a directory called 'images'
* 20 HTML files and a bitmap in a directory called 'help'

-- meaning of the various modules --

* Game
GeBoP works with a class Game, which is defined in the module Game. This class describes the general properties a boardgame should have. The Game module also includes the concept of a game tree, and a general algorithm to traverse this tree in order to find sensible moves.

* Ataxx, Bamp, Halma, Hex, Kram, Nim, Reversi, TicTacToe, and Zenix
These are the implemented games. Each of these modules contains an instance of the Game class.

GUI is the module that contains the GUI itself.

* Tools
This module is just an unstructured bunch of functions I use in other modules :).

This module implements the HSL color model.

* Inf
This module defines the set of integers including two extra values <+infinity> and <-infinity>

* Main
Main just imports the games and starts the GUI.

* Setup
The program used by cabal-install to install GeBoP

-- state of the program --

Version 1.7 of GeBoP is a nice and complete version. However, I could still do some work on the algorithms for playing the computer uses, and some of the games use rather naïve evaluation functions at the moment. I plan to do this some time in the near or otherwise far future.

Since you are reading this file, you are probably a Haskell programmer. If you feel like implementing your favorite game for GeBoP, please go ahead and mail it to me when you're done :)

-- me --

My name is Maarten Löffler. I am currently a researcher at Utrecht University.

I wrote GeBoP in my free time, because I like games and I like Haskell. When wxHaskell came to be, it became even more fun because of the nice graphical effects :)

website at
email at m.loffler<at>



Version 1.7.5
- Game.hs: changed call to "update" in "Game.update" to avoid confusion
with the recently introduced "update" in wxHaskell


Changes in .cabal file
- Removed upper limits for versions of Haskell Platform packages (except base)
- Added address of repository
- Removed lower limit for wxcore, as the wxcore version is defined by wx
- Added "Default-language: Haskell2010"
Other changes
- Added FlexibleContexts pragma to GUI.hs, to satisfy GHC 7.10
- Removed Byte Order Mark from GUI.hs, to satisfy GHC 7.10


Version 1.7.4
- The version info is read from the .cabal file.
- Removed upper limits for wx and wxcore version


Version 1.7.3
- Adapted to Haskell Platform 2013.2.0.0, wxWidgets 2.9.5 and
wxHaskell Amongst others, hierarchical module system
introduced. GUI.hs: staticBitmapCreate has now 0x00200000
(== wxBORDER_NONE) as style, as wxWidgets does not accept -1 as style
anymore. The clientsize of the "move now" button is not set anymore,
so the text fits. TicTacToe now repaints on resize


Version 1.7.2
- Increased the maximum version of base to < 5 .


Version 1.7.1
- Added -Wall flag in the CABAL file
- Solved all compiler warnings.
- Increased the maximum version of wx and wxcore to < 0.13 .
- Added the file changelog.txt


Version 1.7
- Adapted to wxWidgets 2.8.9 / wxHaskell
- Cabalized

Depends on 6 packages:
Used by 1 package:
comments powered byDisqus