569 lines
14 KiB
Plaintext
569 lines
14 KiB
Plaintext
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)
|
|
|
|
|
|
|
|
|
|
|
|
|