Coconut

Latest version: v3.1.2

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

Scan your dependencies

Page 4 of 8

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

1.2.3

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

New features:
- 237: new `fmap` built-in that preserves data types (thanks, hasufell!)
- 214: `data name(*args)` syntax now supported
- 227: `data from` syntax for data type inheritance
- 232: `--no-tco` option to disable tail call optimization (also implied by `--mypy`)
- 228: `.method(**kwargs)` implicit partial now supported
- 231: `.[a:b, c:d]` implicit partial now supported (thanks, cgarciae!)
- 226: PEP 542 dotted function names now supported

Fixes:
- 221, 234: Jupyter kernel issues resolved (thanks, cgarciae!)
- 224, 189: issues with `--watch` flag resolved (thanks, Nexus6!)
- 246: `conda` installation bug fixed (thanks, bmcguirk!)
- 238: dependencies weakened for easier installation (thanks, hasufell!)
- 215: mingw/cygwin bug fixed (thanks, marawuti!)

1.2.2

See the previous release, v1.2.1, for information on recently released features. v1.2.2 is simply a bugfix release for v1.2.1.

Fixes:
- Version-dependent requirements are now properly installed when installing Coconut (thanks Nexus6!)
- Jupyter kernel works properly on Python 2 (thanks DavidPratten!)
- Jupyter kernel performance significantly improved (thanks cgarciae!)
- MyPy support is faster and emits fewer spurious errors
- Fails nicely on missing optional dependencies (thanks Nexus6!)

1.2.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:
- `--mypy` flag for automatic type-checking (including real-time in the REPL)
- Support for Python type annotations on all versions
- New enhanced partial application (e.g. `func$(?, y)`) (thanks Sitwon!)
- Tail recursion elimination added in addition to tail call optimization
- Support for `%magic` commands on Coconut's Jupyter kernel
- Syntax highlighting for Coconut's Jupyter kernel
- Support for keyword and star arguments in pattern-matching function definition
- Support for pattern-matching in statement lambdas (e.g. `def (x is int) -> x`)
- Adds `coconut-run` command with shebang support (e.g. `!/usr/bin/env coconut-run`)
- Support for `COCONUT_STYLE` environment variable for setting a default `--style`
- New [`CONTRIBUTING.md`](http://coconut.readthedocs.io/en/develop/CONTRIBUTING.html)
- New [Czech translation](http://coconut.readthedocs.io/cs/master/DOCS.html) (thanks Tovim!)

Fixes:
- Method calls are now valid implicit partials (e.g. `.method(args)`)
- Compilation speed significantly increased
- Fixed running IPython `%coconut` command multiple times
- Fixed `--watch` compiling files twice (thanks Nexus6!)
- Version restrictions on dependencies loosened
- Enhanced `reversed` and `enumerate` built-ins (thanks Nexus6!)
- Fixed calling methods on integer literals (thanks DomoSokrat!)

1.2.0

[Colonel](https://en.wikipedia.org/wiki/The_Colonel_%28Monty_Python%29) is the next major release of Coconut, and makes major feature additions and minor breaking changes over v1.1.1 [Brontosaurus]. See the updated [documentation](http://coconut.readthedocs.io/en/master/DOCS.html) for more information on everything below.

Breaking changes:
- removed `recursive` (now does auto tco)
- function composition (`..`) precedence changed
- removed `--autopep8` flag

New features:
- automatic tail call optimization
- statement (multiline) lambdas
- command-line syntax highlighting
- `--jobs` flag
- assignment function notation
- `recursive_iterator`
- star pattern matching
- implicit `pass` for `data` and `class`
- inline `nonlocal` and `global` statements
- `--keeplines` flag

Page 4 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.