HaskellMultiParamTypeClasses

示例

这是一个非常常见的扩展,它允许带有多个类型参数的类型类。您可以将MPTC视为类型之间的关系。

{-# LANGUAGE MultiParamTypeClasses #-}

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

instance Convertable Int Float where
    convert i = fromIntegral i

参数的顺序很重要。

MPTC有时可以用类型族代替。