Question

I didn't want to ask this as an 'answer' to A Question Someone Beat Me to by 2 Years so I did a new question. It appears from an answer there (See N. Ramsey where he writes:

"...However, if you look up the pioneering work of Professor Arvind at MIT, his group designed and built dataflow machines where the fundamental computational operations are more declarative in nature...."

that possibly the bare-metal instructions can be declarative or otherwise not-imperative.

Does anybody have a feel for how far it is possible to go in that direction? Must compilers always convert functional language into imperative language? Does hardware enabling this exist?

I'm just curious - always watching prog. lang. trends and it finally occurred to me to wonder what not having mutable state (for instance) really means.

Was it helpful?

Solution

Non-imperative hardware exists and is used for specialized applications. Field-programmable gate arrays (FPGAs) are a good example.

However, the von Neumann machine model (which underlies our current processor architecture) has proven extremely useful and versatile, and much work has been spent on making imperative processors fast and cheap. While it is possible to explore non-imperative computer concepts, it doesn't seem to be worth the effort at the current time - building a declarative machine as an interpreter on top of an imperative machine is much cheaper and faster than a true declarative machine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top