En Associated Type Synonyms (Chakravarty, Keller, Jones) el papel parece indicar que lo siguiente es válido:¿Es posible tener un sinónimo de tipo asociado con variables no mencionadas en la clase de tipo?
class C a where
type S a (k :: * -> *) :: *
Sin embargo, cuando intento ejecutar este recibo un error del compilador (con -XTypeFamilies
):
Not in scope: type variable `k'
¿Me falta algo, o la implementación real en GHC no es la misma que se menciona en el documento?
Ahora he encontrado http://hackage.haskell.org/trac/ghc/ticket/3714 que para mí dice que esto no se puede hacer. Si esto es correcto, no dude en responder con eso. – ocharles