Markus wrote:
I never understood why version 2 introduced the clear_board command. What is the point of a separate boardsize command, if the engine's state is undefined after the command and you still have to send a clear_board? If the idea was to avoid a complete initialization of the Go engine, that is something the engine could easily do internally.
The reason to introduce clear_board was that it seemed silly to be clearing the board as a side effect of setting the boardsize. It would have been an option to still require boardsize to also clear the board but I thought it made more sense to have those commands orthogonal. In part this is also a symmetry with not requiring the board to be empty at startup, which is useful when you can specify an initial position externally (in the case of GNU Go as a command line option).
/Gunnar