152a88140a
* Support for kwargs and keyword-only args (Py3) * Optional function arguments * Smart algorithm to find matching function overload without side effects * Ability to organize functions into layers * Configurable list of operators (left/right associative binary, prefix/suffix unary with precedence) * No global variables. There can be more than one parser with different set of operators simultaneously * List literals ([a, b]) * Dictionary literals ({ a => b}) * Handling of escape characters in string literals * Verbatim strings (`...`) and double-quotes ("...") * =~ and !~ operators in default configuration (similar to Perl) * -> operator to pass context * Alternate operator names (for example '*equal' instead of '#operator_=') so that it will be possible to have different symbol for particular operator without breaking standard library that expects operator to have well known names * Set operations * Support for lists and dictionaries as a dictionary keys and set elements * New framework to decorate functions * Ability to distinguish between functions and methods * Switchable naming conventions * Unicode support * Execution options available to all invoked functions * Iterators limitation * Ability to limit memory consumption * Can work with custom context classes * It is possible to extend both parser and set of expression classes on user-side * It is possible to create user-defined types (also can be used for dependency injection) * Legacy yaql 0.2.x backward compatibility mode * Comprehensive standard library of functions * High unit test coverage Change-Id: Ie31b7c3cbadbff5b7728f55b3ba7bcb78a39d156 |
||
---|---|---|
.. | ||
conf.py | ||
contributing.rst | ||
index.rst | ||
installation.rst | ||
readme.rst | ||
usage.rst |