What's New in CQL 6.2
CQL 6.2 explores certain syntactical and semantic ideas that allow more natural and concise expression of chess themes. New features include:
- A more powerful and more concise syntax for moves, the ―― . The
--) filter is designed to replace the move syntax.
- A replacement for line, ⊢ . The ⊢ (ASCII:
path) filter is much more concise and more powerful than the old line filter, which it is intended to replace. ⊢ also supports several CQLi features: atomic variables and keepallbest parameter.
- ◎, which allows the ⊢ filter to restrict its attention to moves by specified pieces. ◎ is intended to work closely with the piecepath parameter of ⊢ to facilitate clear and informative annotation of complex movement patterns in the generated PGN files.
- Support for chess figurine notation (♔, ♜).
- other unicode special symbols for common operations like ⬓ and ✵ . See palette for a concise list of the new symbols.
- More concise iteration syntax to iterate through squares or pieces in a set, or through a dictionary.
- Filters for puremate, modelmate, idealmate, purestalemate, modelstalemate, idealstalemate.
- More concise and clearer annotation filter replacing most usages of
- New symbols
≽which replace the older
- More concise and clearer symbols → and ← replacing
- More powerful dictionaries. Dictionaries can be local and can have arbritrary types for their keys and values.
- The similarposition filter, which compares all the positions in another pgn file to the current position.
To get used to the new syntax, we recommending browsing through the links below:
|unicode||how Unicode is used in CQL|
|――||The new ―― syntax, for making a move|
|⊢||The new ⊢ syntax, for sequences of moves|
|examples||Examples of the new syntax|
CQL 6.2 also introduces some new filters:
|piecename||get the character representing the type and color of a square|
|typename||get a character representing the type of a square|
|try||the current position derives from a try (for endgame studies)|
|current move filters||determine information associated with the move leading to the current position, including from, to, o-o, o-o-o, castle, nullmove|
|///||concise annotation syntax|
|∊||concise iteration syntax|
|local dictionaries||dictionaries that are not persistent|
|dictionary||dictionaries now accept any CQL type (strings, numbers, sets, positions) as key or value|
compatibility with CQL 6.1CQL 6.2 is almost entirely back compatible with CQL 6.1: any CQL 6.1 file should run unchanged in CQL 6.2. (There are some very minor differences - for example in the datatype of chained relational operators on positions - that will virtually never arise in practice).