quark v2.3.0 Release Notes

Release Date: 2017-06-27 // almost 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 ๐Ÿ˜„