castleecho.cql

// Download castleecho.cql
// PGN output when run on sample.pgn

/*******
Two positions differ only in that in one castling (to a particular side) is allowed
and in the other that kind of castling is not allowed.
*******/

cql(input hhdbvi.pgn variations )
 legal (castle)
echo(source target){
  sidetomove==source:sidetomove
  sourcetarget==
  {source:legal (o-o)
   not legal (o-o)
   /// "o-o is not legal"
   source:/// "o-o is legal"
  }
  or
  {source:legal (o-o-o)
   not legal (o-o-o)
   /// "o-o-o is not legal"
   source:/// "o-o-o is legal"
  }
}