Greg Strong wrote on Thu, Nov 14, 2019 01:33 AM UTC:
I somewhat like the notion that a player can't make a first move that puts himself into stalemate if there is an alternate sequence. Unfortunately, this would be extremely difficult for me to implement. Like Zillions, ChessV handes multi-move variants by treating each leg as a separate move and implements the double move by adjusting when the side-to-move is flipped. To implement this, I would not know if a move is legal without generating moves another level deep, and that would be a radical modification. In practice, I think this would almost never come up in a real game. I had a hard time even coming up with a position where I could test this.
So far as I know, there is no other xboard engine that plays Marseillais (or another GUI that enforces the rules.) I really hope that changes. To that end, I'm not inclined adopt an interpretation that makes it substantially harder to make a fully compliant engine to address a situation that is extremely rare at best.
Don't get me wrong - when trying to nail down the rules for classic games, ability to program them shouldn't be the top concern, and certainly shouldn't constitute a veto of clearly defined rules. But the classic rules are in doubt, very likely were played with different interpretations at different times (to the extent these corner-cases were even considered), and the rules have been evolving.
I somewhat like the notion that a player can't make a first move that puts himself into stalemate if there is an alternate sequence. Unfortunately, this would be extremely difficult for me to implement. Like Zillions, ChessV handes multi-move variants by treating each leg as a separate move and implements the double move by adjusting when the side-to-move is flipped. To implement this, I would not know if a move is legal without generating moves another level deep, and that would be a radical modification. In practice, I think this would almost never come up in a real game. I had a hard time even coming up with a position where I could test this.
So far as I know, there is no other xboard engine that plays Marseillais (or another GUI that enforces the rules.) I really hope that changes. To that end, I'm not inclined adopt an interpretation that makes it substantially harder to make a fully compliant engine to address a situation that is extremely rare at best.
Don't get me wrong - when trying to nail down the rules for classic games, ability to program them shouldn't be the top concern, and certainly shouldn't constitute a veto of clearly defined rules. But the classic rules are in doubt, very likely were played with different interpretations at different times (to the extent these corner-cases were even considered), and the rules have been evolving.