I’ve been looking at these again lately. Being very generic modules supporting a wide range of games they obviously cannot know how to manipulate positions and moves in every one of these games, since board-representation and how to perform a move, not to forget evaluating the “fitness” of a position differ wildly between games. Users of the modules therefore have to provide some domain-specific functionality.

Despite claiming to use an OO interface these modules’ first incarnations required subroutine references to be passed in and stored in a hash. This has now been changed so that users are instead required to inherit from the modules and implement the missing methods.

There’s still some way to go though.

It occured to me that all the methods work directly on positions, so the methods should really be provided by a position class for which a reference is passed in. I hope to have this, including a simple base position class users can inherit, implemented over the weekend.

Leave a Reply