As mush as FP has done, in the end, all our programs are structured. That is, it doesn't matter how pure or functional we make a them - they are always translated to assembly, so what actually runs behind the hoods are instructions, states and loops. We are kind of emulating FP.
As a hardware noob, my question is: why aren't we using computer architectures that actually computed things in a functional style? For example, a computer could consist of primitive "functional chips" such as "concat", "map" and "reduce", and a program would merely tell the computer how to flow the data between those chips in order to compute the desired result, such as in concatenative languages.
This doesn't really make sense but might illustrate what I'm thinking.
if we could make a specialized chip for Filter, for example, it would need just a single clock for a Filter operation.
Not really, because Filter isn't "an operation"; it's a higher-order function that applies an arbitrary external operation to a list. You can't reduce that to a single clock cycle. – Mason Wheeler May 13 at 2:06