A Haskell chess library and console UCI frontend program
chessIO is a Haskell library for working with chess positions and moves, and a console frontend program (cboard) to work with UCI compatible chess engines.
The Library
The main module provided by the library is Game.Chess, which defines data types and functions for working with chess positions and moves. It offers a fully compliant move generator and parsing for and printing positions in Forsyth-Edwards Notation and moves in Algebraic Notation.
Module Game.Chess.UCI provides functionality to run an external process which understands the Universal Chess Interface protocol from within Haskell.
cboard -- Console frontend for the Universal Chess Interface protocl
cboard is a simple console (text-mode) frontend for interacting with chess engines (like stockfish or glaurung) which make use of the UCI protocol.
To launch a chess engine, simply pass its executable name and arguments
to cboard. For instance, cboard stockfish
.
Source code
This project is hosted on GitHub.
To obtain a copy of the source code, execute the following command:
git clone https://github.com/mlang/chessIO
or if GitHub is offline or my account has vanished, you can also do
git clone https://blind.guru/projects/chessIO.git
to retrieve a repostiroy backup.