Hmm like the “new” JS Fetch api with `then` chaining? What about map, filter, reduce? Anonymous functions? List comprehensions? FP is everywhere. Pure FP code isn’t seen very often, as side effects are necessary for most classes of programs, but neither is pure OOP code, as not everything is dynamically dispatched, nor imperative code, as Objects or functions may more cleanly describe/convey something in code.
I shoved math aside because I think for most of the HN crowd it wouldn’t be a good use of their time to do what mainstream mathematics is about, like the “things such as Grothendieck schemes and perfectoid spaces” the article also references. FP is much more relevant because for any program for which a proof of correctness is worthwhile, you can always extract a functional core of that program (functional core, imperative shell). And that functional core will be easier to prove than if it were written in an imperative style.
Everything in the math universal language is defined as an expression or formula.
All proofs are based on this concept.
To translate this into programming think about what programming is? Programming rather being a single line formula is a series of procedures.
1. add 1
2. add 3
3. repeat.
in functional programming you get rid of that and you think from the perspective of how much of a program can you fit into a single one liner? An expression? Think map, reduce, list comprehensions, etc.
That is essentially what functional programming is. Fitting your entire program onto one line OR fitting it into a math expression.
The reason why you see multiple lines in FP languages is because of aliasing.
m = b + c
y = x + m
is really:
y = x + (b + c)
This is also isomorphic to the concept of immutability. By making things immutable your just aliasing part of the one liner...
So functional programming, one line programs, formulas and equations in math, and immutability are essentially ALL the same concept.
That is why lean is functional. Because it's math.
It is common in "big" marathons for the fastest runners to have pacers with them who help establish and keep a pace. They could be male or female, but the fastest marathon runners are generally male, so they tend to be male. "Female-only-pacer" means that only female pacers are used.
Yes, and actual history yet again subverts the dominant story:
> The citizens of Poland have the highest count of individuals who have been recognized by Yad Vashem as the Polish Righteous Among the Nations, for saving Jews from extermination during the Holocaust in World War II. There are 7,232 (as of 1 January 2022) Polish men and women conferred with the honor, over a quarter of the 28,486 recognized by Yad Vashem in total. The list of Righteous Among the Nations is not comprehensive and it is estimated that hundreds of thousands of Poles concealed and aided tens of thousands of their Polish-Jewish neighbors. Many of these initiatives were carried out by individuals, but there also existed organized networks of Polish resistance which were dedicated to aiding Jews – most notably, the Żegota organization.
As a Pole, I am pissed af about the fact that this true story of WWII is not known. In fact, very often the Russian version of "pravda" is what has been spread.
Why tf is there no Oscar winning movie about this story?
Poland is invaded from both sides, saves the most lives of our fellow Jewish brothers and sisters: the most heroic story, and the movie count is zero.
Are you upset that Russia's attempt at occupying Kyiv was hilarious bad (from a military point of view, obviously not as far as the Ukrainians are concerned), and Russia has lost any chance of retaking Poland for generations?
My parents used to measure us in feet and stones. I still know my height in feet, because it hasn’t changed in decades. My weight, unfortunately, I could only tell you in kilograms.
FP is just as irrelevant for most programmers as the math you already shoved aside
reply