Common combinators in JavaScript
This site embodies everything I dislike about functional programming: an attitude that shorter and less specific is better.<p>What use is a line like<p><pre><code>    const S = f => g => x => f(x)(g(x));
</code></pre>
for <i>anyone</i> except someone who <i>already groks</i> what the S combinator does and is for?<p>Why do these combinators have single-letter names anyway? Does that help anyone? Even Haskell, heaven on earth for single-letter guess-what-i-mean coders, has actual names for half of these - how is knowing that "flip" is also "the C combinator" helpful in <i>any</i> way?<p>Now, I'm not trying to diss this page in particular, and I very much am not trying to diss functional programming. I like functional programming. But I think that when hype shifted from OOP to FP, we threw half the baby out with the bathwater (ok, maybe a quarter baby). Naming is important and FP does not have any feature in particular that makes "I" a better name than "identity".<p>I think programming in general, and FP in particular, will become a better place if we all grow up a bit and stop pretending we're too smart to need good naming.