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 olderancestoranddescendantfilters. - 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).