Ich lese gerade Learn You a Haskell for Great Good und ich stieß auf den Begriff " point-free style " auf Seite 85, wie unten gezeigt. Die Funktion fn
ist jedoch voll mit Punkten ! Das verwirrt mich.
Warum wird dieser Schreibstil in diesem Fall "point-free" genannt? voll mit Punkten?
Wie soll ich diesen Begriff verstehen? "Punktfrei" in welchem Sinne?
Woher kommt der Begriff "point-free style"? Vielleicht von einem Sprache, in der die Funktionszusammensetzung durch den Raum bezeichnet wurde?
PS: Bis jetzt ist das der einzige verwirrende Teil in diesem ausgezeichneten Buch (d. h. auf den ersten 85 Seiten, die ich bisher gelesen habe).
Aber Pointfree hat mehr Punkte!
Ein weit verbreitetes Missverständnis ist, dass die Punkte des pointfree Stils sind der (.) Operator (Funktion Zusammensetzung als ASCII-Symbol), die denselben Bezeichner wie der Dezimalpunkt. Das ist falsch. Der Begriff stammt aus der Topologie, a Zweig der Mathematik, der mit Räumen aus Punkten arbeitet, und funktioniert zwischen diesen Räumen. Also eine "punktefreie" Definition von a Funktion ist eine, die die Punkte (Werte) nicht explizit erwähnt des Raumes, auf den die Funktion wirkt. In Haskell ist unser "Raum" ein Typ und "Punkte" sind Werte. In der Deklaration f x = x + 1 wir Definieren Sie die Funktion f in Bezug auf ihre Wirkung auf einen beliebigen Punkt x. Vergleichen Sie dies mit der punktefreien Version: f = (+ 1) wo es ist keine Erwähnung des Werts, auf den die Funktion wirkt.
von haskellwiki
Grundsätzlich ist jede lokale Variable ein "Punkt". Eine Funktion ohne lokale Variablen ist daher "point-free".
Tags und Links haskell coding-style pointfree