Souvent, lorsque je joue avec du code Haskell, je crée des annotations de type undefined
.Non défini au niveau du type
foo :: String -> Int
foo = undefined
Existe-t-il un type "indéfini" au niveau du type que je pourrais utiliser de la même manière?
(Idéalement, en liaison avec une annotation de type)
type Foo :: * -> *
type Foo = Undefined
Une réflexion sur le même fil: est-il un moyen pour moi de bouchonner cas pour les types créés de cette façon classe de types? Un moyen encore plus facile que la voie théorique suivante?
instance Monad Foo where
return = undefined
(>>=) = undefined
Nice! Exactement ce que je cherchais; c'est encore plus pratique car vous n'avez pas besoin d'écrire 'Foo = Undefined'! Et de gentilles signatures! Sauce extraordinnaire. –
Je crois que ce n'est pas la même chose qu'un alias de type - quand vous introduisez une nouvelle donnée, il n'y a aucune chance que 'Foo a = a'. Donc, ce n'est pas la même chose que le code de la question, ce qui peut être bien. – gatoatigrado
@gatoatigrado: Je pense que l'exigence était juste un espace réservé pour un type à écrire, pas un alias de type en soi, et c'est une solution appropriée. Quoi qu'il en soit, heureux de vous aider Dan! – danr