Warum heißt der Punkt-freie Stil in Haskell Punktfrei, wenn er voller Punkte ist? Woher kommt der Begriff "point-free"?

9

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).

    
jhegedus 25.02.2014, 08:38
quelle

2 Antworten

18
  

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

    
Маша 25.02.2014, 08:46
quelle
7

Grundsätzlich ist jede lokale Variable ein "Punkt". Eine Funktion ohne lokale Variablen ist daher "point-free".

    
MathematicalOrchid 25.02.2014 08:51
quelle

Tags und Links