Skip to content

Commit ee71d41

Browse files
committed
improve curry explanation
1 parent 3b7c517 commit ee71d41

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ The same applies if you need the macro parts of `unpythonic` (i.e. import anythi
115115
- Resolve issue [#61](https://github.com/Technologicat/unpythonic/issues/61): `curry` now supports kwargs properly.
116116
- We now analyze parameter bindings like Python itself does, so it should no longer matter whether arguments are passed by position or by name.
117117
- Positional passthrough works as before. Named passthrough added.
118-
- Any remaining arguments (that cannot be accepted by the initial call) are passed through to a callable intermediate result.
118+
- Any remaining arguments (that cannot be accepted by the initial call) are passed through to a callable intermediate result (if any), and then outward on the curry context stack as a `Values`. Since `curry` in this role is essentially a function-composition utility, the receiving curried function instance unpacks the `Values` into args and kwargs.
119+
- If any extra arguments (positional or named) remain when the top-level curry context exits, then by default, `TypeError` is raised. To override, use `with dyn.let(curry_context=["whatever"])`, just like before. Then you'll get a `Values` object.
119120
- `unpythonic.conditions.signal`, when the signal goes unhandled, now returns the canonized input `condition`, with a nice traceback attached. This feature is intended for implementing custom error protocols on top of `signal`; `error` already uses it to produce a nice-looking error report.
120121
- The modules `unpythonic.dispatch` and `unpythonic.typecheck`, which provide the `@generic` and `@typed` decorators and the `isoftype` function, are no longer considered experimental. From this release on, they receive the same semantic versioning guarantees as the rest of `unpythonic`.
121122
- CI: Automated tests now run on Python 3.6, 3.7, 3.8, 3.9, and PyPy3 (language versions 3.6, 3.7).

0 commit comments

Comments
 (0)