Pure functional programming didn't catch on, but most FP was never pure.
Here I feel you contradicted yourself, because the functional patterns are making its way into mainstream languages.
Also, functional patterns has its special use in distributed/parallel programming.
IMO React was a lot simpler to reason about than any of the competing frameworks at the time. It's a function that takes data and outputs a UI. If the data changes, the function is re-run.
How did React beat EmberJS (LinkedIn) and Angular (Google)? Marketing budget may be a factor, but "because billion dollar corporation" is not a conclusion I would draw.
Seems to be taking off (difficult to predict the long-term, of course), but Rust is excellent at functional paradigms and Brings many advancements of functional languages to the people.
Idk, looking pretty good to me, unless you think none of these count.
Considering everyone seems to hate C++ nowadays, and Rust looks like the only existing alternative. Hard to imagine the trend won't continue.
Rust has constant functions, for one: https://doc.rust-lang.org/reference/const_eval.html
Rust functions (which don't take mutable references) are incapable of modifying anything you pass into them, and any sort of global state is heavily discouraged.
This is pretty good as far as "pure" goes, but of course, they can perform I/O. (Then again, without any side effects a program would do nothing at all behind heating up your CPU, so this seems like a fair trade-off.)
What makes Rust functional are the patterns you can use in the language, though. A lot ot of maps, a lot of filters, a lot of iterators and algebgaic data types and pattern matching.
You know what I think it means? That no single perspective will ever be sufficiently complete to offer a meaningful opinion of the whole.