Wie kann ich widersprüchliche Beweise verwenden?
Während des SchreibensÜber das Subtyping in Haskell, mir ist der Gedanke gekommen, dass es sehr praktisch wäre, widersprüchliche Beweise wie @ "zu verwenden"True ~ False
, um den Compiler über tote Zweige zu informieren. Bei einem anderen leeren Standardtyp istVoid
, dasEmptyCase
it der Erweiterung @ können Sie einen toten Zweig markieren (d. h. einen, der einen Wert vom Typ @ enthälVoid
) diesen Weg
use :: Void -> a
use x = case x of
Ich würde gerne etwas Ähnliches für Unbefriedigendes tunConstraint
s.
Gibt es einen Begriff, dem der Typ @ zugewiesen werden kanTrue ~ False => a
kann aber nicht den Typ @ erhalta
?