Idris reduziert Ausdrücke, die Aufrufe von Teilfunktionen ohne übereinstimmende Muster betreffen, nicht. Mit anderen Worten, dies ist nur die Art und Weise, wie die REPL einen undefinierten oder "unteren" Wert darstellt. Vermutlich, wenn Sie diesen Aufruf in einer ausführbaren Datei machen, erhalten Sie stattdessen einen Laufzeitfehler.
Von the tutorial:
Und obwohl [eine Teilfunktion] typechecks und compiliert, wird es nicht verringern (das heißt, Auswertung der Funktion wird es dazu führen, ändern):
-- Unsafe head example!
unsafeHead : List a -> a
unsafeHead (x::xs) = x
unsafe> the Integer $ unsafeHead [1, 2, 3]
1 : Integer
unsafe> the Integer $ unsafeHead []
unsafeHead [] : Integer