Coconut

Latest version: v3.1.0

Safety actively analyzes 629765 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 7

1.4.3

See Coconut's [documentation](http://coconut.readthedocs.io/en/master/DOCS.html) for more information on everything listed below.

Bugfixes:
- 527: Coconut once again builds properly on Python 2 (thanks hasufell for the issue!)
- 526: fixes `=` function definition returning string literals not working (thanks vietspaceanh for the issue!)
- attributes now work properly in implicit function application (e.g. `f b.x c.y`)

1.4.2

See Coconut's [documentation](http://coconut.readthedocs.io/en/master/DOCS.html) for more information on all of the features listed below.

Bugfixes:
- 521: prevents Coconut from installing an incompatible version of `cPyparsing` by default
- 515: prevents Coconut from installing `trollius` on Python 3 when doing `pip install coconut[all]` (thanks DennisMitchell for the issue!)

New features:
- 496, 506: `addpattern` now issues a warning if passed a non-pattern-matching function unless `allow_any_func=True` is passed (thanks m-burst for the PR and pavelbraginskiy for the issue!)
- 517: simple implicit function application such as `f x y` is now supported

1.4.1

See Coconut's [documentation](http://coconut.readthedocs.io/en/master/DOCS.html) for more information on all of the features listed below.

New features:
- 465: new `addpattern def` shorthand syntax (thanks MichalMarsalek for the issue!)
- 301, 504, 505: full support for Python 3.6 f-strings on all targets including (thanks m-burst for the PR!)
- 323: added support for `|**>` kwargs pipes (thanks ArneBachmann for the issue!)
- 490: new `(assert)` operator function (thanks arnauorriols for the issue!)
- 503: added support for Python 3.8 positional-only arguments (thanks pavelbraginskiy fo the issue!)
- 483: `fmap` now works on numpy arrays (thanks hoishing for the issue!)
- 494: added support for pattern-matching in `data` definitions (thanks arnauorriols for the issue!)
- 493: added truncation for long MatchError messages (thanks arnauorriols for the issue!)
- 482: added support for Python 3.8 assignment expressions under `--target 3.8` (thanks terrdavis for the issue!)
- 446, 458: `data` types are now hashable (thanks m-burst for the PR!)
- 502: `addpattern`, `recursive_iterator`, and TCO'd functions are now pickleable
- 488: fewer `__coconut__.py` files are created when compiling in `--package` mode

Plus lots and lots of bugfixes!

1.4.0

See Coconut's [documentation](http://coconut.readthedocs.io/en/master/DOCS.html) for more information on all of the features listed below.

New features:
- 320: added import hook to automatically compile imported Coconut files (thanks ArneBachmann!)
- 347: added `where` clauses
- 270: added a `memoize` decorator (thanks iamrecursion!)
- 403: added a `TYPE_CHECKING` constant
- 409: added support for ``M `bind` x -> y`` syntax
- 419: `data` type equality is now typed (thanks everyone in 418!)
- 331: support negative pattern-matching with `match ... not in ...`
- 411: `count` now supports a step size of `0`
- 394: `scan` now has an initializer argument
- 398: creating a new indented block after a colon is no longer necessary for any statement
- 229: `--strict` now warns on unused imports
- 327: interpreter now supports `reload` built-in (thanks, ArneBachmann!)
- 382: interpreter now supports compiling to arbitrary file names
- 393: unicode operators for multiplication and matrix multiplication have been switched
- 153: function composition precedence is now such that `f..g(x)` is the same as `f..(g(x))` not `(f..g)(x)`
- 395: built-in attributes changed to remove initial underscores

Plus lots and lots of bugfixes!

1.3.1

This is a bugfix release for `v1.3.0`. See `v1.3.0` below for all the most recently added features.

Fixes:

- 326: fixed Jupyter kernel installation (thanks, auscompgeek!)
- 333: fixed `--watch` placing compiled files in the wrong location (thanks, dileep-kishore!)
- 337: fixed `--jupyter console` on Windows (thanks, mlarocca!)
- 317: fixed numerous MyPy errors (thanks, ArneBachmann!)

1.3.0

See Coconut's [documentation](http://coconut.readthedocs.io/en/master/DOCS.html) for more information on all of the features listed below.

New features:
- 220: new function composition pipe operators (thanks, cgarciae!)
- 243: new none-aware operators
- 200: new enhanced type annotation syntax (thanks, fredcallaway!)
- 257: `data` types now support default arguments
- 276: `data` types now support type annotations (thanks, jonathanplatzer!)
- 275: pipes and infix calls now support lambdas in them
- 256: new string destructuring pattern-matching
- 267: improved dictionary pattern-matching (thanks, cgarciae!)
- 284: new `starmap` built-in
- 271: new `reiterable` built-in (thanks, pchampin!)
- 266: new `scan` built-in
- 297, 309: new `groupsof` built-in (thanks, kbaskett248!)
- 303: `datamaker` deprecated in favor of new `makedata` built-in
- 283: `prepattern` deprecated
- 282: `fmap` of a mapping now iterates over its `.items()`
- 286: new `--argv` command-line option
- 300: Coconut now installable via `conda`
- 53: now supports `cPyparsing` for faster parsing

Fixes:
- 280: fixed infix notation associativity
- 268: tail call optimization now significantly faster
- 147: removed interpreter lag on first line of code
- 279: prettier interpreter errors
- 298: pattern-matching function docstrings now actually get bound to `__doc__`
- 285: `type: ignore` comments now work properly
- 255: fixed nested attribute getter implicit partial (thanks, Socialery!)
- 269: fixed segfault in non-iterator functions (thanks, pchampin!)
- 264: fixed `recursive_iterator` error (thanks, pchampin!)
- 308: fixed importing `StringIO` and `BytesIO` on Python 2 (thanks, cgarciae!)
- 295: fixed Cygwin error (thanks, halloleo!)
- 288: fixed Pythonista installation error (thanks, iamrecursion!)
- 277: fixed Jupyter kernel installation error (thanks, petrilli!)
- 311: now gracefully handles old `pyparsing` versions
- 294: piping into partials no longer creates intermediate partial objects

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.