功能
在我們的代數中,函式可以看作是指數。我們可以看到,如果我們採用帶有 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)