功能

在我们的代数中,函数可以看作是指数。我们可以看到,如果我们采用带有 n 个实例的类型 a 和带有 m 个实例的类型 b,则类型 a -> b 将具有 m 个 n 次幂的幂。

例如,Bool -> Bool(Bool,Bool) 同构,为 2 * 2 =2²。

iso1 :: (Bool -> Bool) -> (Bool,Bool)
iso1 f = (f True,f False)

iso2 :: (Bool,Bool) -> (Bool -> Bool)
iso2 (x,y) = (\p -> if p then x else y)