Hacker News new | ask | show | jobs
by noelwelsh 1088 days ago
Different roads that reach the same place, I think.

Finite state machines are a small step away from sequential logic and help with managing complexity. Pushdown automata are a small step from finite state machines. I think of Turing machines as an architecture for a computer consisting of a separate CPU and memory, which happens to correspond to the most common architecture used today, but not a particularly useful tool for managing complexity as they have no structure. Functions are useful for managing complexity, and function call / return requires some notion of a stack. Once you're there you can build up the rest of FP. Pure function correspond to combinatorial. Those with state correspond to sequential logic. etc.

Going in the reverse direction, compilation connects functional programming to hardware.