有沒有辦法讓功能「類型」在Elixir中實現協議?我正在玩一個自定義的Functor
協議,並想知道我是否可以使功能實現它(忽略Elixir類型系統的所有限制)。「功能」可以在Elixir中實現協議嗎?
實現(如果function
其中A型)將
defimpl Category.Functor, for: function do
def fmap(f, g), do: &(g.(f.(x))
end
既然你可以做
f_2x_plus_1 = &(&1 * 2) |> Functor.fmap(&(&1 + 1))
f_2x_plus_1.(1) == 3
不,我想用這個事情的嚴重性,只是想知道。
以下是Elixir中的類別庫https://github.com/robot-overlord/witchcraft這可能有助於瞭解他們已經完成的工作。 – CoderDennis