¿Haskell, o un compilador específico, tiene algo así como lambdas de nivel de tipo (si es incluso un término)?Lambda para expresiones de tipo en Haskell?
Para elaborar, decir que tengo un tipo parametrizado Foo a b
y quiero que Foo _ b
sea una instancia de, digamos, Functor. ¿Hay algún mecanismo que me permita hacer algo similar a
instance Functor (\a -> Foo a b) where
...
?
¿Sería una "lambda de nivel de tipo" una función que toma un tipo y devuelve otro tipo? – Gabe
@Gabe es un sinónimo de tipo; pero no puedes convertirlo en una lambda al aplicarlo parcialmente. –