MultiParamTypeClasses

這是一個非常常見的擴充套件,允許具有多個型別引數的型別類。你可以將 MPTC 視為型別之間的關係。

{-# LANGUAGE MultiParamTypeClasses #-}

class Convertable a b where
    convert::a -> b

instance Convertable Int Float where
    convert i = fromIntegral i

引數的順序很重要。

MPTC 有時可以用型別系列替換。