每當我有一個部分應用其左引數的運算子部分時,即:
(0 >)
我只是簡單地以前綴形式重寫運算子并繼續計算:
(>) 0
如何計算部分應用其正確引數的運算子部分的型別?
uj5u.com熱心網友回復:
對于(>)
,沒關系,因為兩個引數具有相同的型別。Ord a => a
從中洗掉任何一個Ord a => a -> a -> Bool
,你就剩下Ord a => a -> Bool
。
通常,您只需洗掉與應用引數對應的型別。例如,給定(??) :: Int -> Char -> Bool
,
-- with the Int argument supplied, you still need a Char
(x ??) == (\y -> x ?? y) :: Char -> Bool
-- with the Char argument supplied, you still need an Int
(?? y) == (\x -> x ?? y) :: Int -> Bool
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/495427.html