- new: macro wrappers for the let decorators - fix: trampolined() should go on the outside even if the client code manually uses curry() - enh: improve tco, fploop combo - enh: improve lexical scoping support
---
0.10.3
- enh: ``curry`` macro now curries also definitions (``def``, ``lambda``), not only calls - fix: spurious recomputation bug in ``do[]`` - update and fix READMEs and docstrings
---
0.10.2
Bugfixes:
- Arities: - Compute arities of methods correctly - Workaround for some builtins being uninspectable or reporting incorrect arities - Macros: - An implicit ``curry(f)`` should call ``f`` also if no args - Fix missing ``optional_vars`` in manually created ``withitem`` nodes
---
0.10.1
- ``continuations``: create continuation using same node type (``FunctionDef`` or ``AsyncFunctionDef``) as its parent function - ``autoreturn``: fix semantics of try block - fix docstring of tco
---
0.10.0
- Add more macros, notably ``continuations``, ``tco``, ``autoreturn`` - Polish macros, especially their interaction - Remove old exception-based TCO, rename ``fasttco`` to ``tco``
---
0.9.2
- new `multilambda` block macro: supercharge regular Python lambdas, contained lexically inside the block, with support for multiple expressions and local variables. Use brackets to denote a multi-expression body. - new `fup` macro providing more natural syntax for functional updates; allows using slice syntax. - upgrade: the `let` macros can now optionally have a multi-expression body. To enable, wrap the body in an extra set of brackets. - remove the 0.9.0 multilambda `λ`; brittle and was missing features.
The macros implement the multi-expression bodies by inserting a `do`; this introduces an internal-definition context for local variables. See its documentation in the macro_extras README for usage.
The macro_extras README now includes a table of contents for easy browsability.