This commit is contained in:
bluepython508
2023-12-03 11:35:22 +00:00
parent 2ae3b6cf7b
commit ee17acccae
6 changed files with 144 additions and 0 deletions

View File

@@ -12,4 +12,24 @@ defmodule Aoc2023.Common do
fn (val) -> val |> unquote(expr) end
end
end
defmacro l &&& r do
quote do
fn val ->
l = val |> unquote(l)
r = val |> unquote(r)
{l, r}
end
end
end
def runs(lst, f) do
lst
|> Enum.with_index()
|> Enum.chunk_by(pipe(elem(0) |> f.()))
|> Enum.filter(pipe(Enum.at(0) |> elem(0) |> f.()))
|> Enum.map(Enum.at(0) |> elem(1) &&& length)
end
def id(x), do: x
end