W Associated Type Synonyms (Chakravarty, Keller, Jones) papier wydaje się wskazywać, że następujące jest prawidłowy:Czy możliwe jest posiadanie skojarzonego synonimu ze zmiennymi niewymienionymi w klasie typu?
class C a where
type S a (k :: * -> *) :: *
Jednak gdy próbuję i uruchomić to pojawia się błąd kompilatora (z -XTypeFamilies
):
Not in scope: type variable `k'
Czy brakuje mi czegoś, czy też faktyczna realizacja w GHC nie jest taka sama, jak wspomniano w artykule?
Znalazłem http://hackage.haskell.org/trac/ghc/ticket/3714, który dla mnie brzmi tak, jakby tego nie można było zrobić. Jeśli to prawda, odpowiedz na to. – ocharles