Type class, (en català: classe de tipus) en ciència de la computació, és un sistema de tipus que suporta polimorfisme ad hoc. Type class va aparèixer per primer cop al llenguatge de programació Haskell.[1]
La seva definició parteix l'univers dels tipus en classes, segons si implementen o no la signatura.
Exemples
Una type class Eq es declararia de la següent manera :
class Eq a where
(==) :: a -> a -> Bool
(/=) :: a -> a -> Bool
llavors es podria definir una funció elem :
elem :: Eq a => a -> [a] -> Bool
elem y [] = False
elem y (x:xs) = (x == y) || elem y xs
Referències