Includes:
- https://github.com/witchcrafters/quark/pull/36 (changes merged separately)
- https://github.com/witchcrafters/quark/pull/37
- https://github.com/witchcrafters/quark/pull/38
Unclaimed project
Are you a maintainer of quark? Claim this project to take control of your public changelog and roadmap.
Includes:
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).
iex> sum_plus_one = compose_list([&(&1 + 1), &Enum.sum/1])
...> sum_plus_one.([1, 2, 3])
7
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 do
use 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...
Nothing terribly major. The breaking change is that a number of top-level functions have moved into submodules, and there's now a handy top-level use macro.
Also modernized the deps, updated the docs, and altered the layout of the doctests for readability.
:tada: :tada: :tada: Happy New Year and a happy first Quark release! :tada: :tada: :tada:
Quark 1.0.0 has arrived! Having recently undergone mitosis from Witchcraft, we've fleshed out quite a few functional programming basics that we felt would be useful in Elixir.
Yes, now you too can define all of yo...