Wir sagen, dass eine Funktion in ihrem Argument streng ist, aber wie sagt man, dass eine Funktion in ihrer Argumentation nicht streng ist? Können wir sagen, dass eine Funktion nicht strikt ist, wennWie sagen wir formal, dass eine Funktion in einem Argument nicht strikt ist? wenn</p> <pre><code>f ⊥ = ⊥ </code></pre> <p>
f ⊥ ≠ ⊥
?
Wie erstreckt sich das auf Funktionen vieler Argumente, bei denen wir ein Argument abhängig vom Wert eines anderen Arguments bewerten oder nicht?
Ich frage dies im Zusammenhang mit der Dokumentation der Striktheitseigenschaften von Haskell-Funktionen mit Haddock-Dokumentation.
Sie haben Recht, eine Funktion ist nicht streng, wenn f ⊥ ≠ ⊥. Wenn Sie ein Argument in Abhängigkeit von nicht bewerten, ist die Funktion nicht strikt (in dem Argument, das möglicherweise nicht ausgewertet wird). –
BadZen
Wenn eine Funktion * always * ihr Argument auswertet, wird sie in diesem Argument als strict bezeichnet. Eine Funktion, die * nie * ein Argument auswertet, wird in diesem Argument uninteressant genannt. OK, OK, ich habe es gerade erfunden. Aber dieses triviale Verhalten zu studieren scheint keine sehr aufregende Wissenschaft zu sein. Eine Funktion, die ihr Argument * nicht immer * auswertet, wird in diesem Argument als nicht-streng bezeichnet. –
@ n.m. Eine Funktion kann ihr Argument vollständig ignorieren und in diesem Argument immer noch streng sein. – augustss