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
――
(ASCII:--
) 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
comment
- New symbols
≺
,≻
,≼
, and≽
which replace the olderancestor
anddescendant
filters. - More concise and clearer symbols → and ← replacing
attacks
,attackedby
, andxray
. - 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:
Subject | description |
---|---|
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:
Name | Description |
---|---|
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 |
lastgamenumber | number of games in input file |
local dictionaries | dictionaries that are not persistent |
dictionary | dictionaries now accept any CQL type (strings, numbers, sets, positions) as key or value |
Windows GUI
Emil Vlasák has contributed a new version of his Windows GUI for CQL that supports Unicode.
compatibility with CQL 6.1
CQL 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).