Yes, some things might be good for both language paradigms, e.g.

* hardware garbage collection
* hardware transactional memory

With a bit of Googling, both seem to exists, the latter even being supported by SUN

Andrew Coppin wrote:
Peter Verswyvelen wrote:
As a side note on this discussion, isn't it so that the current CPU hardware evolved in such a way that it is better suited for imperative programs? (I'm not talking about the GPU, that's another story). I mean, hardware gets optimized to run applications faster, but these applications are mainly written in C/C++, so you get a nice feedback loop here...

Is it possible to design hardware that is better suitable for functional languages?

I wondered about that myself a few times.

For example, current computer designs revolve around a single complex, fast CPU connected to some slow RAM. [Or, more recently, a very small number of seperate CPUs.] I wonder what would happen if you instead had a vast number of very simple proto-processors connected in a vast network. [But I'm guessing the first thing that'll happen is that the data is never where you want it to be...]

At any rate, custom hardware vs IA32 is rather like GHC vs GCC - one has been around for a hell of a lot longer, and had vastly more R&D thrown at it. Unless you can find some crucial insight that gives you a very big advantage, you're not going to get anywhere near the market leader with anything you can come up with by yourself.

(It does seem to be that the major trouble with modern processors is that they only go fast if there are no cache misses. Back in the days when RAM was as fast as CPU, you could structure your program any way you like and it would just work. Today you have to jump through loops to make sure the cache behaviour is good, or you can just forget it and go home now. That tends to be a pretty big problem for any programming language with automatic memory management - Java immediately springs to mind, but of course Haskell is in the same boat. I get the vague impression that hardware designers are starting to take notice of the problem, but it's difficult to see how they could design anything differently. We'll see I guess... Certainly if hardware appears that handles OOP languages better, it's likely to handle Haskell better too.)

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to