Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Library of Effective GO routines

This is a Library of Effective GO routines (libEGO), a high performance implementation of Go rules and most popular algorithms used in computer Go.


You will need:

  • git (version control system)
  • cmake (cross-platform, open-source build system)

Checkout the source:

git clone git://

Construct library and examples with your favorite compiler:

./cmakeall          # do all the work

Run GTP engine:

./bin/     # Same as ./bin/engine but loads pattern gammas from a file.
./bin/ gui # Experimental gui for making experiments :)

You can connect engine to GoGui using first command.


My girlfriend for her endless support and patience.
Benjamin Tauber for many hours of extreme programming.
Jakub Pawlewicz for the idea of pseudo-liberties and find-union algorithms.
Dave Hillis for the idea of mercy rule.
Markus Enzenberger for his computer go bibliography and GoGui.
Don Dailey for setting up CGOS server.
Remi Coulom for supervising my work.
And last but not least, a whole computer Go community for a stimulating mixture of cooperation and competition.


All files Copyright 2006 and onwards Łukasz Lew.

All files in this package are under General Public License, which may be found in the file COPYING.


Lukasz Lew