quark v2.3.0 Release Notes
Release Date: 2017-06-27 // over 7 years ago-
Compose functions, from the head of the list of functions. The is the reverse
order versus what one would normally expect (left-to-right rather than
right-to-left).Examples
iex\> sum\_plus\_one = compose\_list([&(&1 + 1), &Enum.sum/1]) ...\> sum\_plus\_one.([1, 2, 3]) 7
Previous changes from v2.2.0
-
Pointfree unary functions!
๐ Allows defining functions as straight function composition (ie: no need to state the argument). Provides a clean, composable named functions. Also doubles as an aliasing device.
defmodule Foo douse Quark defx foo, do: Enum.sum |\> succ defx bar, do: ((&Enum.sum/1) \<~\> succ).()end[1,2,3] |\> Foo.foo#=\> 7[1,2,3] |\> Foo.bar#=\> 7
๐ฑ Pointfree n-ary functions (based on the first function in the body) is still coming ๐