Question: ### Background

The **Von-Neumann architecture** describes the stored-program computer where instructions and data are stored in memory and the machine works by changing its internal state, i.e an instruction operates on some data and modifies the data. So inherently, there is state maintained in the system.

The **Turing machine architecture** works by manipulating symbols on a tape. i.e A tape with infinite number of slots exists, and at any one point in time, the Turing machine is in a particular slot. Based on the symbol read at that slot, the machine can change the symbol and move to a different slot. All of this is deterministic. 

---

### Questions

1. Is there any relation between these two models? Was the Von Neuman model based on or inspired by the Turing model?
2. Can we say that Turing model is a superset of Von Newman model?
3. Does functional Programming fit into Turing model? If so, how? I assume
functional programing does not lend itself nicely to the Von Neuman model.

Answer: 
I do not know what historical relationship there is between Turing machines and von Neuman architectures. I am sure, however, that von Neuman was aware of Turing machines when he developed the von Neuman architecture.

As far as computational capability, however, Turing machines and von Neuman machines are equivalent. Either one can emulate the other (IIRC, emulating a von Neuman program on a Turing machine is an O(n^6) operation). Functional programming, in the form of the lambda calculus, is also equivalent. In fact, all known computational frameworks at least as powerful as Turing machines are equivalent:

* Turing machines
* Lambda calculus (functional programming)
* von Neuman machines
* Partial recursive functions

There is no difference in the set of functions that can be computed with any of these models.

Functional programming is derived from the lambda calculus, so it doesn't map directly to either Turing or von Nemuan machines. Either of them can run functional programs, hoewver, via emulation. I think that the mapping for Turing machines is likely more tedious than the mapping for von Neuman machines, so my answer to the 3rd question would be "no, in fact it's worse."
The Turing "model" is not an architectural model at all. It was just a non-existent machine that Turing hypothesized to serve as the vehicle for his proof of the [decision problem](http://en.wikipedia.org/wiki/Decision_problem).