All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Types of changes are:
- Security in case of vulnerabilities.
- Deprecated for soon-to-be removed features.
- Added for new features.
- Changed for changes in existing functionality.
- Removed for now removed features.
- Fixed for any bug fixes.
fungebra.Function
. Function decorator to allow use of expression syntax and method chaining.- Expression syntax for
Function
callables:+
- function composition.|
- function piping/chaining.**
- right-associative function piping/chaining.<<
- left-handed partial application.>>
- right-handed partial application.-
- shortcut formap
.<
- shortcut forfilter
.>
- shortcut forreduce
.
- Methods for
Function
callables:collect
- collect arguments before psasing.expand
- unpack single argument before passing.compose(*others)
- return composition of this function withothers
.pipe(func)
- return function which passes output of this function tofunc
partial(*args, **kwargs)
- left-handed partial application.rpartial(*args, **kwargs)
- right-handed partial application.map
- shortcut forpartial(map, self)
.lmap
- same asmap
but returns alist
.filter([filter_func])
- pipe output of this function to filter, or create filter from self if no arguments passed.reduce([reduce_func])
- pipe output of this function to reducer, or create reducer from self if not arguments passed.
- Top-level helpers:
identity
- shortcut forFunction(lambda _: _)
pipeline(*funcs)
- return a left-to-right pipeline from a series of functions.Args
- dataclass for arguments, used for passing mixed positional and keyword arguments through pipes or into partial applications.
fungebra.functions
modules containing a number of commonly usefulFunction
callables.- Project started :)
Nothing here.