CQL version 6.0.2 release notes
- CQL 6.0 issues CQLI9.186-1 through CQLI9.186-10 have been fixed.
- persistent variables can be declared without assigning to them in their declaration.
- The experimental
-guipgnstdoutcommand line options have been added.
CQL version 6.0 Issues
- **[CQLI9.186-1]** The backward line filter can write an inaccurate comment to the output PGN file, or can signal an error, when it is used with the default comment level. To use the backward line filter, specify either silent or quiet in the CQL header.
- [CQLI9.186-2] When the position filter is used, but the resulting position is ignored (that is, the
positionfilter is only used to determine if its argument is nonnegative and smaller than the the number of positions in a game), the filter will always match. The workaround is not to ignore the position returned by the
- [CQLI9.186-3] The error message signalled if the result filter has an invalid argument is not grammatical.
- [CQLI9.186-4] The error message signalled when the filename of the file containing the CQL code is not the last argument on the command line is missing a space.
- [CQLI9.186-5] The error message signalled when when both 'previous' and 'legal' are used with the move filter is inaccurate.
- [CQLI9.186-6] The error message signalled when a numeric variable is used only for whether it matches, not for its value, is misleading.
- **[CQLI9.186-7]** The elo filter does not work correctly and should not be used.
- [CQLI9.186-8] In certain unusual cases the ray or xray filter works incorrectly. Specifically, a
xrayfilter wil be inaccurate if:
xrayfilter has 4 or more set filter arguments;
- one of these arguments, say F, matches an empty square; and
- F is not the first, second, or last argument to the filter.
- [CQLI9.186-9] The
southeastkeywords will signal an error if used as either standalone direction filters (southwest, southeast) or as parameters to ray.
- [CQLI9.186-10] When a function is invoked without arguments, the error message output by CQL is missing a space
Release Notes for CQL version 6.0This table below is a partial list of changes from CQL version 5.2 to CQL version 6.0. It is not complete due to the large number of changes that were made.
We thank Robert Gamble for his assistance in finding and fixing numerous bugs in version 6.0.
Note that there were also some important changes from CQL version 5.1 to CQL version 5.2. If you are still using CQL version 5.1, read the release notes for CQL 5.2 before reading these release notes. CQL 6 also runs much faster than previous versions, particularly on complex CQL files. (On an 8-core machine, we typically see speedups of a factor of between 10 and 80 compared to CQL 5.2, depending on the exactly CQL file and PGN database). CQL 6 is also substantially more expressive and compact than previous versions of CQL.
||CQL by default runs in multiple threads|
|Variable names need not start with a dollar sign||
||A variable name can be any sequence of allowed characters and need not start with a dollar sign|
|Variables can hold integers, sets of squares or positions||
||More powerful variables|
||basic integer arithmetic and relational expressions|
|legal move checking||
|many more command line features||
||arbitrary filters on the command line|
many new command line options
|pawn structure filters||
||pawn structure filters|
|run cql without a CQL file||
||when CQL file is missing, use |
||find positions in FEN notation, in CQL file or using |
||Anything after |
||Rays where first argument attacks second (renamed from |
||persistent variables retain their value between games. They can be used for statistics|
||simpler and more powerful replacement for old |