Database: chessBtest Restore : No Operator : < Number : 1 Signature: field x field -> bool Example : query field("a1") < field("a2") Result : TRUE Operator : < Number : 2 Signature: material x material -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[28] pieces < wjc feed filter[.No = 2] extract[Elem] getposition[1] pieces Result : FALSE Operator : < Number : 3 Signature: position x position -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[10] < wjc feed filter[.No = 2] extract[Elem] getposition[1] Result : TRUE Operator : = Number : 1 Signature: field x field -> bool Example : query field("a1") = field("a1") Result : TRUE Operator : = Number : 2 Signature: material x material -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[1] pieces = wjc feed filter[.No = 2] extract[Elem] getposition[1] pieces Result : TRUE Operator : = Number : 3 Signature: position x position -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[1] = wjc feed filter[.No = 2] extract[Elem] getposition[1] Result : TRUE Operator : > Number : 1 Signature: field x field -> bool Example : query field("a1") > field("d6") Result : FALSE Operator : > Number : 2 Signature: material x material -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[28] pieces > wjc feed filter[.No = 2] extract[Elem] getposition[1] pieces Result : FALSE Operator : > Number : 3 Signature: position x position -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[10] > wjc feed filter[.No = 2] extract[Elem] getposition[1] Result : FALSE Operator : ~ Number : 1 Signature: material x material -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] pieces ~ wjc feed filter[.No = 2] extract[Elem] getposition[6] pieces Result : TRUE Operator : ~ Number : 2 Signature: position x position -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] pieces ~ wjc feed filter[.No = 2] extract[Elem] getposition[6] pieces Result : TRUE Operator : above Number : 1 Signature: field x field -> bool Example : query field("a2") above field("a1") Result : TRUE Operator : agent Number : 1 Signature: chessmove -> piece Example : query wjc feed filter[.No = 5] extract[Elem] getmove[7] agent Result : (piece "Knight") Operator : apply_ply Number : 1 Signature: position x chessmove -> position Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] apply_ply[wjc feed filter[.No = 2] extract[Elem] getmove[7] ] Result : file Operator : attackcount Number : 1 Signature: position x field -> int Example : query wjc feed filter[.No = 4] extract[Elem] getposition[28] attackcount[field("a4")] Result : 1 Operator : attackedby Number : 1 Signature: position x piece x piece -> bool Example : query wjc feed filter[.No = 1] extract[Elem] getposition[28] piece("queen") attackedby[piece("Queen")] Result : crashes Remark : Bord iterator will used outside the board Operator : attackedby Number : 2 Signature: position x field x piece -> bool Example : query wjc feed filter[.No = 5] extract[Elem] getposition[12] field("d5") attackedby[piece("Pawn")] Result : TRUE Operator : attackedfrom Number : 1 Signature: position x piece x field -> bool Example : query wjc feed filter[.No = 5] extract[Elem] getposition[12] piece("pawn") attackedfrom[field("c4")] Result : FALSE Operator : attackedfrom Number : 2 Signature: position x field x field -> bool Example : query wjc feed filter[.No = 1] extract[Elem] getposition[28] field("c4") attackedfrom[field("d5")] Result : TRUE Operator : below Number : 1 Signature: field x field -> bool Example : query field("a1") below field("a2") Result : TRUE Operator : captured Number : 1 Signature: chessmove -> piece Example : query wjc feed filter[.No = 5] extract[Elem] getmove[7] captured Result : (piece "none") Operator : captures Number : 1 Signature: chessmove -> bool Example : query wjc feed filter[.No = 5] extract[Elem] getmove[7] captures Result : FALSE Operator : check Number : 1 Signature: chessmove -> bool Example : query wjc feed filter[.No = 5] extract[Elem] getmove[7] check Result : FALSE Operator : checkmate Number : 1 Signature: position -> bool Example : query checkmate(wjc feed filter[.No = 42] extract[Elem] getposition[70]) Result : TRUE Operator : east Number : 1 Signature: field -> field Example : query east( field("a1") ) Result : (field "b1") Operator : endfield Number : 1 Signature: chessmove -> field Example : query endfield(wjc feed filter[.No = 5] extract[Elem] getmove[7]) Result : (field "f3") Operator : enpassant_field Number : 1 Signature: chessmove -> field Example : query enpassant_field(wjc feed filter[.No = 5] extract[Elem] getmove[7]) Result : (field undef) Operator : is_even Number : 1 Signature: int -> bool Example : query is_even(2) Result : TRUE Operator : exists Number : 1 Signature: stream(ANY) x (ANY -> bool) -> bool Example : query wjc feed filter[.No = 0] extract[Elem] getposition[6] pos_fields exists[.Piece = piece("knight")] Result : crashes Operator : field Number : 1 Signature: string -> field Example : query field( "a1" ) Result : (field "a1") Operator : column Number : 1 Signature: field -> string Example : query column( field("a1") ) Result : "a" Operator : forall Number : 1 Signature: stream(ANY) x (ANY -> bool) -> bool Example : query wjc feed filter[.No = 0] extract[Elem] getposition[6] pos_fields forall[.Piece = piece("none")] Result : crashes Operator : getkey Number : 1 Signature: chessgame x string -> string Example : query wjc feed filter[.No = 2] extract[Elem] getkey ["Event"] Result : "WJun" Operator : getmove Number : 1 Signature: chessgame x int -> chessmove Example : query wjc feed filter[.No = 2] extract[Elem] getmove [3] Result : file Operator : getposition Number : 1 Signature: chessgame x int -> position Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] Result : file Operator : history Number : 1 Signature: chessgame -> stream(tuple([No: int, Pos: position, Move: chessmove])) Example : query wjc feed filter[.No = 2] extract[Elem] history head[3] consume Result : file Operator : includes Number : 1 Signature: position x position -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[34] includes [ wjc feed filter[.No = 2] extract[Elem] getposition[34] ] Result : TRUE Operator : is Number : 1 Signature: piece x piece -> bool Example : query piece( "Pawn" ) is piece( "pawn" ) Result : TRUE Operator : is_castling Number : 1 Signature: chessmove -> bool Example : query is_castling( wjc feed filter[.No = 5] extract[Elem] getmove[7] ) Result : FALSE Operator : is_enpassant Number : 1 Signature: chessmove -> bool Example : query is_enpassant(wjc feed filter[.No = 5] extract[Elem] getmove[7]) Result : FALSE Operator : is_mate Number : 1 Signature: chessmove -> bool Example : query is_mate( wjc feed filter[.No = 5] extract[Elem] getmove[7] ) Result : FALSE Operator : is_neighbor Number : 1 Signature: field x field -> bool Example : query field("a1") is_neighbor field("a2") Result : TRUE Operator : is_stalemate Number : 1 Signature: chessmove -> bool Example : query is_stalemate(wjc feed filter[.No = 5] extract[Elem] getmove[7]) Result : FALSE Operator : iswhite Number : 1 Signature: field -> bool Example : query iswhite( field("a1") ) Result : FALSE Operator : lastmove Number : 1 Signature: chessgame -> int Example : query lastmove( wjc feed filter[.No = 2] extract[Elem] ) Result : 72 Operator : left Number : 1 Signature: field x field -> bool Example : query field("a1") left field("b1") Result : TRUE Operator : moveNo Number : 1 Signature: position -> int Example : query wjc feed filter[.No = 2] extract[Elem] getposition[5] moveNo Result : 5 Operator : moves Number : 1 Signature: chessgame -> stream(chessmove) Example : query wjc feed filter[.No = 2] extract[Elem] moves transformstream head[3] consume Result : file Operator : neighbors Number : 1 Signature: field -> stream( field ) Example : query field("a1") neighbors printstream count Result : 3 Operator : north Number : 1 Signature: field -> field Example : query north( field("a1") ) Result : (field "a2") Operator : northeast Number : 1 Signature: field -> field Example : query northeast( field("a1") ) Result : (field "b2") Operator : northwest Number : 1 Signature: field -> field Example : query northwest( field("a1") ) Result : (field undef) Operator : is_odd Number : 1 Signature: int -> bool Example : query is_odd(2) Result : FALSE Operator : piece Number : 1 Signature: string -> piece Example : query piece( "Pawn" ) Result : (piece "Pawn") Operator : piece_moves Number : 1 Signature: position x piece -> stream(tuple([SPiece: piece, SField: field,EPiece: piece, EField: field])) Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] piece_moves [piece("Queen")] consume Result : file Operator : piece_moves_blocked Number : 1 Signature: position x piece -> stream(tuple([SPiece: piece, SField: field, BPiece: piece, BField: field, EPiece: piece, EField: field])) Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] piece_moves_blocked[piece("Pawn")] consume Result : file Operator : piececount Number : 1 Signature: material x piece -> int Example : query wjc feed filter[.No = 2] extract[Elem] getposition[1] pieces piececount[piece("Queen")] Result : 1 Operator : pieces Number : 1 Signature: position -> material Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] pieces Result : file Operator : piecevalue Number : 1 Signature: piece -> real Example : query piecevalue( piece( "Pawn" ) ) = 1 Result : TRUE Operator : pos_fields Number : 1 Signature: position -> stream( tuple( [Field: field, Piece: piece] ) ) Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] pos_fields consume Result : file Operator : pos_moves Number : 1 Signature: position x piece -> stream(tuple([SPiece: piece, SField: field, EPiece: piece, EField: field])) Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] pos_moves consume Result : file Operator : pos_moves_blocked Number : 1 Signature: position -> stream(tuple([SPiece: piece, SField: field, BPiece: piece, BField: field, EPiece: piece, EField: field])) Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] pos_moves_blocked consume Result : file Operator : positions Number : 1 Signature: chessgame->stream(position) Example : query wjc feed filter[.No = 2] extract[Elem] positions transformstream head[3] consume Result : file Operator : posrange_b Number : 1 Signature: position x field x field -> position Example : query wjc feed filter[.No = 2] extract[Elem] getposition[6] posrange_b[field("a1"), field("c3")] Result : file Operator : protectcount Number : 1 Signature: position x field -> int Example : query wjc feed filter[.No = 0] extract[Elem] getposition[6] protectcount[field("c5")] Result : 1 Operator : protectedby Number : 1 Signature: position x field x piece -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[28] field("b3") protectedby[piece("Pawn")] Result : FALSE Operator : protectedby Number : 2 Signature: position x piece x piece -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[28] piece("pawn") protectedby[piece("pawn")] Result : TRUE Operator : protectedfrom Number : 1 Signature: position x piece x field -> bool Example : query wjc feed filter[.No = 5] extract[Elem] getposition[12] piece("Pawn") protectedfrom[field("c1")] Result : TRUE Operator : protectedfrom Number : 2 Signature: position x field x field -> bool Example : query wjc feed filter[.No = 2] extract[Elem] getposition[28] field("d5") protectedfrom[field("e6")] Result : FALSE Operator : readpgn Number : 1 Signature: text -> stream(chessgame) Example : query readpgn('wjc.pgn') count Result : 359 Operator : right Number : 1 Signature: field x field -> bool Example : query field("d2") right field("c2") Result : TRUE Operator : row Number : 1 Signature: field -> int Example : query row( field("a1") ) Result : 1 Operator : samecolor Number : 1 Signature: piece x piece -> bool Example : query piece( "Pawn" ) samecolor piece( "Queen" ) Result : TRUE Operator : south Number : 1 Signature: field -> field Example : query south( field("a1") ) Result : (field undef) Operator : southeast Number : 1 Signature: field -> field Example : query southeast( field("a1") ) Result : (field undef) Operator : southwest Number : 1 Signature: field -> field Example : query southwest( field("a1") ) Result : (field undef) Operator : stalemate Number : 1 Signature: position -> bool Example : query stalemate(wjc feed filter[.No = 2] extract[Elem] getposition[6]) Result : FALSE Operator : startfield Number : 1 Signature: chessmove -> field Example : query startfield(wjc feed filter[.No = 5] extract[Elem] getmove[7]) Result : (field "g1") Operator : twotuples Number : 1 Signature: stream(tuple(X)) -> stream(tuple([X1, X2])) Example : query wjc feed head[1] extract[Elem] history twotuples count Result : 38 Operator : west Number : 1 Signature: field -> field Example : query west( field("a1") ) Result : (field undef)