Рассмотрим этот код:
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeFamilyDependencies #-}
module Study where
class C a where
type T a = r | r -> a
pred :: T a -> Bool
pred _ = True
Я хочу иметь более значимое определение по умолчанию pred
, например:
class C' a where
...
pred' = not . null
(я предполагаю, что по умолчанию T' a
будет = [a]
.)
Есть ли способ?