Podczas pracy z pochodnymi instancjami w Haskell, czy możliwe jest wyprowadzanie funkcji dla dowolnych typów lub czy ograniczamy się do konkretnych funkcji?
Załóżmy, że mam następujący kod: {-# LANGUAGE GADTs, DeriveDataTypeable, StandaloneDeriving #-}
import Data.Typeable
class Eq t => OnlyEq t
class (Eq t, Typeable t) => BothEqAndTypeable t
data W
Próbowałem od Vinyl package, który wykorzystuje rodzaje rodzajów poziomów do tworzenia struktur rekordów z polimorfizmem na poziomie pola i automatycznie dostarczanymi obiektywami. Obie te funkcje był