The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Chess-Plisco

Chess::Plisco is a representation of a chess position in Perl. It also contains a UCI compatible chess engine.

It only works with Perl versions that are compiled with support for 64 bit integers!

The software is stable but still considered work in progress.

Since it is reasonably fast and offers a lot of functionality needed for chess engines, it can be used for rapid prototyping of a chess engine. Writing a basic implementation of the AlphaBeta algorithm with Chess::Plisco will not require more than 30 lines of code.

The library also has a very high test coverage so that you can probably use it as a reference implementation for your own experiments and tests.

Installation

Apart from Perl (which ships with your operating system unless you use MS-DOS aka MS Windows), the software has little dependencies:

Probably both dependencies are available for your system. Search your package manager for "PPI" and "libintl-perl".

Alternatively, install the command "cpanm" and do:

 $ cpanm Chess::Plisco

This installs the last release of the software.

If you want to use the latest sources from git, build and install it with the usual sequence of commands:

 $ perl Makefile.PL
 $ make
 $ make install

Library

See the "Chess/Plisco/Tutorial.pod" in lib for a gentle introduction to the library. When installed, you can also try the command perldoc Chess::Plisco::Tutorial.

Reference documentation is available for "Chess/Plisco.pod" in lib (perldoc Chess::Plisco) and "Chess/Plisco/Macro.pod" in lib (perldoc Chess::Plisco::Macro).

Engine

Running the Engine

The chess engine is started with the command "plisco". You can also run it from inside the repository like this:

 $ perl -Ilib bin/plisco

The engine needs several seconds to come up because the source code of the engine and the library are parsed and the macros contained expanded.

Graphical User Interfaces

Like almost all chess engines, plisco does not come with a graphical user interface. Try using one of these:

Copryight

Copyright (C) 2021, Guido Flohr, mailto:guido.flohr@cantanea.com, all rights reserved.