这个行动家族有名字吗?
Functor f => f (a, b) -> (f a, f b)
Functor f => f (a, b, c) -> (f a, f b, f c)
...
Functor f => f (a, b, ..., z) -> (f a, f b, ..., f z)
Run Code Online (Sandbox Code Playgroud)
它们很容易实现,只是想弄清楚它叫什么.
\fab -> (fst <$> fab, snd <$> fab)
Run Code Online (Sandbox Code Playgroud)
对我而言,它出现在f ~ (x ->).
在您的具体情况下f ~ (x ->),我认为它们可以被称为"权力法则".
实际上,从理论上讲,写作A -> B权力是很常见的B^A.对类型(A,B)通常也被写为产品(A*B).
然后你的第一部法律写成
(A*B)^C = A^C * B^C
Run Code Online (Sandbox Code Playgroud)
并且是经典类型同构.这可以很容易地以明显的方式推广到元组.
在一般情况下,在哪里f是一个任意的仿函数,我现在想不出的只是"分布".