Coconut v3.1.0
See Coconut's documentation for more information on all of the features listed below.
Language features:
- #814: Changes to statement lambda scoping rules, including capturing names introduced in the surrounding expression.
- #618: Changes to handling of pattern-matching function defaults including support for e.g.
match def f(x, y=x) = (x, y)
. - #809: New array concatenation implicit partials (e.g.
[. ; a]
). - #823: New
(x := .)
implicit partial syntax (only available in pipes). - #807: New
lift_apart
built-in combinator. - #813: New
(if)
operator function. - #826 (thanks @JayXon!): Better universalization and
fmap
support forbytes
andbytearray
. - #816: Support for
xarray
to match existingnumpy
/pandas
support. - #817: New
to
argument toall_equal
. - #821 (thanks @GolfingSuccess!): Expanded implicit function application syntax to support string literal methods.
Compiler features:
- #799:
coconut-run
andcoconut --run
now work on packages rather than just files. - #812: Better formatting of Coconut exceptions.
Bugfixes:
- #810: Fixed an issue compiling certain syntax constructs in the Coconut Jupyter kernel.
- #818, #825 (thanks @kg583, @dokutan!): Fixed parsing of different Unicode line break characters.
- #822 (thanks @JayXon!): Fixed parsing of Unicode backward pipe operators.
- #819, #820 (thanks @kg583!): Fixed some incompatibilities between Python and Coconut syntax.