Many thanks for the replies and references all of you! I will continue to read up on this from here, and you have all boosted my interest in investigating how complex systems could be developed using functional languages. <br>

<br><div class="gmail_quote">On Fri, Mar 16, 2012 at 1:46 PM, Dimitri Scheftelowitsch <span dir="ltr">&lt;<a href="mailto:d.scheftelowitsch@googlemail.com" target="_blank">d.scheftelowitsch@googlemail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
it depends on what your definition of „problem“ is. If a problem is just something that is defined by „given input A, generate output B such that some constraints are met“, then you can go with anything Turing-complete.<br>


<br>
If you think of problems in the sense of software engineering and disallow side effects, then you cannot do anything — any sensible software requires I/O.<br>
<br>
If you want to compare the programming models of lambda calculus vs. random access machines, then you have nothing worse than a polynomial slowdown in terms of runtime. Strong Church-Turing thesis and so on.<br>
<br>
HTH<br>
<span><font color="#888888">Dimitri<br>
</font></span><div><div><br>
On 16.03.2012, at 13:23, Christopher Svanefalk wrote:<br>
<br>
&gt; Dear all,<br>
&gt;<br>
&gt; there is a question I have been thinking about a bit. In short, we could simply formulate it like this:<br>
&gt;<br>
&gt; Are there any problems which cannot be solved a side effect-free language (such as Haskell)? In other words, are there problems that would explicitly demand semantics that can only be provided by a language allowing direct modification of external state variables, such as Java and C++?<br>


&gt;<br>
&gt; If not, are there problems which are simply infeasible to solve with a side effect-free language?<br>
&gt;<br>
&gt; I realize this question is very broad, and I am not expecting an exact answer by any means. I am asking since I am curious about the relation between functional and imperative/procedural languages in general. I primarily come from a Java background, but I can program Haskell and Erlang, and have recently started exploring Scala, so this would be interesting to know.<br>


&gt;<br>
&gt; --<br>
&gt; Best,<br>
&gt;<br>
&gt; Christopher Svanefalk<br>
&gt;<br>
&gt; Student,<br>
&gt; Department of Computer Science and Engineering<br>
&gt; University of Gothenburg / Chalmers University of Technology<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Best,<div><br></div><div>Christopher Svanefalk</div><br>