Kann mir jemand helfen, die folgende Definition aus Wadlers Aufsatz mit dem Titel "Comprehending Monads" zu verstehen? (Auszug ist aus dem Abschnitt 3.2/Seite 9, das heißt der „Strikt Monad“ Abs.)Was bedeutet "⊥" in "The Strictness Monad" von P. Wadlers Papier?
Manchmal ist es notwendig, um die Bewertung in einem faulen Funktionsprogramm zu steuern. Dies wird in der Regel mit der berechenbaren Funktion erreicht strenge, definiert durch
strengefx = wenn x ≠ ⊥ dann fx sonst ⊥.
Operativ strengefx wird durch zuerst reduziert x schwachen Kopf Normalform (WHNF) reduziert und dann Reduzieren der Anwendung fx. Alternativ ist es sicher x und fx parallel zu reduzieren, aber keinen Zugriff auf das Ergebnis erlauben, bis x ist in WHNF.
In dem Papier haben wir noch die Verwendung des Symbols aus den beiden senkrechten Linien (nicht sicher, was es heißt), um zu sehen, so dass es Art kommt aus dem Nichts heraus.
Vorausgesetzt, dass Wadler weiter zu sagen, dass "wir [strenge] Verständnis verwenden, um die Bewertung von faulen Programmen zu kontrollieren", scheint es ein ziemlich wichtiges Konzept zu verstehen.
Es wird allgemein Boden genannt. – Squidly
Was hat deine Frage mit Monaden zu tun? – leftaroundabout
Es heißt bottom oder in Haskell speziell genannt "undefined". Dies ist nur eine Form davon. Technisch ist bottom aber auch eine nicht-terminierende Berechnung, wie zum Beispiel 'length [1 ..]' – bheklilr