轉換Type類,我想實現一個具有功能CONV,從給定的T形轉換的類。 僞代碼(不編譯)是這樣的:從給定類型
data T a b c d = List [a] | Tup1 a | Tup2 a b | Tup3 a b c deriving (Show)
class ConvT t where
conv :: T a b c d -> t
instance ConvT [a] where
conv (List x) = x
instance ConvT (a,b) where
conv (Tup2 a b) = (a,b)
我怎麼能這樣做? 請注意,我不打算在生產中使用它 - 我只是想更多地理解Haskell類型系統。
您是否熟悉模式匹配?這聽起來就是你真正想要的。 –