ChessML notes

ChessML is a chess engine I am writing in OCaml for fun and to learn. These pages are my notes on the techniques it uses: what I understood about each one, how ChessML does it (including the parts it does crudely or not at all), and the mistakes worth warning others about.

They are not a reference. I am a novice at this, and where I explain something you should trust the Chess Programming Wiki and the engines it links to over me. Each page lists the sources it leans on.

The pages

Representing the board:

Searching:

Judging positions:

The overview page has a few lines on each, and the developer guide describes how the code is organized.

How strong is it?

Not very, by engine standards: roughly 1850–2000 on Stockfish’s limited-strength scale, measured with a few hundred fast games, so take it as a ballpark. The README explains how I measured it.