Coconut

Latest version: v3.1.0

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

Scan your dependencies

Page 4 of 7

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

1.1.1

- Adding a `--watch` flag (99, 106, thanks Boscillator!)
- Improving Jupyter / IPython console autocompletion (114)
- Adding methodcaller implicit partial (112)
- Adding links to 3rd party Vim and Emacs highlighters (thanks, manicmaniac and NickSeagull!)
- Adding `pip install coconut[...]` as a way to install optional dependencies

1.1.0

[Brontosaurus](https://en.wikipedia.org/wiki/Anne_Elk%27s_Theory_on_Brontosauruses) makes notable feature additions over v1.0.0 [Albatross], but should be fully backwards-compatible. The major changes were:
- Adding `addpattern` and `prepattern` built-ins (92, 103)
- Changing recommended file extension from `.coc` to `.coco` (88)
- Making interpreter print the result of an expression (100, thanks Boscillator!)
- Fixing IPython / Jupyter kernel support (97)
- Adding support for guards in pattern-matching function definition (98)
- Upgrading to `pyparsing` 2.1.5

Page 4 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.