<br><br><div class="gmail_quote">On Tue, Oct 26, 2010 at 10:31 AM, Mikael B <span dir="ltr"><<a href="mailto:mback1@live.se">mback1@live.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">




<div><div class="im">
<br><br><br>> <br>>     That's from the functional programming crowd.<br>> <br>>     Python isn't a functional language.  <br><br><br></div>A noob question: what is a functional language?  What does it meen?<br>
                                          </div>
<br>--<br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
<br></blockquote></div><br>It's a language where executing a program is equivalent to evaluating a function - so things that are usually statements, like "if" statements, are expressions that return a value.<br>
<br>Pure functional languages have functions with no side effects, at least, not unless a monad (side effect detected by the type system in this case) catches it somehow.<br><br>The coolest thing about pure functional languages, is you can give them a debugger that allows you to step backward in time.  They're also very parallelisable in theory, because they yield programs with little to no shared, mutable state - which is important given that multicore is catching on so fast.<br>
<br><br>