When Does Point-Free Notation Make Code More Readable?
Okay, I get the concept. Where is the argument for it?<p>&gt;Sometimes, especially in abstract situations involving higher-order functions, providing names for tangential arguments can cloud the mathematical concepts underlying what you’re doing.<p>Sometimes? When?<p>&gt;point-free notation serves as an example of how subtle changes to the way you think about or define your code can have big impacts on readability.<p>In the end, we&#x27;re defining `atLeastTwo` and using it identically, so it would be much more compelling if there was an example in which things were, in fact, more readable.  This example is just syntactic.  It&#x27;s like arguing that `const atLeastTwo = (x) =&gt; x &gt;= 2`  is better than `function atLeastTwo(x) { ... }`<p>&gt; It’s your job as a developer to be cognizant of these tradeoffs.<p>It&#x27;s just that this piece isn&#x27;t really helping me get there.<p>I think the author is suggesting that we define `atLeastTwo` in terms of an `atLeast` primitive, i.e., currying and partial application.  It&#x27;s clear that this is going to make composition easier, but it is relying on it.  Now, I&#x27;d like to see how point-free, as a paradigm, yields better results in terms of readability or error prevention.