A menudo, cuando estoy jugando con el código Haskell, resuelvo cosas con una anotación de tipo y undefined
.Indefinido en el tipo de nivel
foo :: String -> Int
foo = undefined
¿Hay algún tipo de nivel "indefinido" que pueda usar de forma similar?
(Idealmente, en conjunción con una especie de anotación)
type Foo :: * -> *
type Foo = Undefined
el pensamiento sobre el mismo tema: ¿hay una manera para mí para apagar los casos clase de tipos de tipos creados de esta manera? ¿Una forma aún más fácil que la siguiente forma teórica?
instance Monad Foo where
return = undefined
(>>=) = undefined
¡Agradable! Exactamente lo que estaba buscando; ¡es aún más conveniente porque no tienes que escribir 'Foo = Indefinido'! ¡Y buenas firmas! Salsa impresionante. –
Creo que no es lo mismo que un alias de tipo: cuando introduce un nuevo dato, no hay posibilidad de que 'Foo a = a'. Entonces, no es lo mismo que el código de la pregunta, que puede estar bien. – gatoatigrado
@gatoatigrado: Creo que el requisito era solo un marcador de posición para un tipo aún por escribir, no un alias tipo per se, y entonces esta es una solución adecuada. De todos modos, me alegro de ayudarte Dan! – danr