<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:osnews="http://www.osnews.com/rss2#">
	<channel>
		<title>OSNews: </title>
		<link>http://www.osnews.com/story/26346/Thinking_functionally_with_Haskell</link>
		<description>Exploring the Future of Computing</description>
		<language>en-us</language>
		<copyright>Copyright 2001-2013, David Adams</copyright>
		<webMaster>adam+nospam@osnews.com</webMaster>
		<lastBuildDate>Sat, 18 May 2013 10:23:14 GMT</lastBuildDate>
		<image>
			<url>http://www.osnews.com/images/osnews.gif</url>
			<title>OSNews.com</title>
			<link>http://www.osnews.com</link>
		</image>
		<item>
			<title>It's interesting...</title>
			<link>http://www.osnews.com/thread?534301</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534301</guid>
			<description>that the other programming related &quot;news&quot; have lots of comments, but this one has none.<br />
<br />
I mean Haskell's a great language so I'm surprised there's no dialog here. Is it a demographic thing? Or is the post just too long to form coherent posts?</description>
			<pubDate>Fri, 07 Sep 2012 20:27:00 GMT</pubDate>
			<author>donotreply@osnews.com (satsujinka)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: It's interesting...</title>
			<link>http://www.osnews.com/thread?534322</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534322</guid>
			<description>satsujunka,<br />
<br />
Having tried haskell (along with prolog), I have to say it is way ahead of it's time. It is truly in a league of it's own.<br />
<br />
algebra : calculus :: C++/Pascal/Java/... : Haskell<br />
<br />
<br />
In a conventional language, I'd have the write the specific algorithm to solve a problem. In Haskell, I can write the relationships and constraints of the answer I want, but then it's up to the language to find a way to reach the answer. Many functions can be evaluated forwards and backwards.<br />
<br />
It requires a radical shift in thinking, which is probably why it's not been popular. Several generations down the line though I hope we'll see more languages adopting the Haskell approach programming, emphasising the &quot;what&quot; instead of the &quot;how&quot;.</description>
			<pubDate>Sat, 08 Sep 2012 01:20:00 GMT</pubDate>
			<author>donotreply@osnews.com (Alfman)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: It's interesting...</title>
			<link>http://www.osnews.com/thread?534325</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534325</guid>
			<description>Except Haskell really doesn't require too much of a change in thought patterns (especially if you've encountered other functional languages.) You don't have to use type annotations. You don't have to understand monads and arrows. You have to deal with immutability, but the concept isn't foreign (pretty much all languages have a notion of constants.) There's even 'do' notation that's basically an imperative language.<br />
<br />
I think the thing that gets a lot of people is that functional languages are largely math based. For some reason that scares people, when it really should be viewed as a good thing. And in many ways it is, after all if you came out with a new language today and said it didn't have first class functions... you'd probably be laughed at.</description>
			<pubDate>Sat, 08 Sep 2012 02:57:00 GMT</pubDate>
			<author>donotreply@osnews.com (satsujinka)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>not just Haskell</title>
			<link>http://www.osnews.com/thread?534328</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534328</guid>
			<description>But it's not an article about Haskell. If, like me, you know Haskell only vaguely and can't follow some of the examples it's still a very interesting read.<br />
It's primarily about the power of types, how you can use them to provide some of the functionality of test-driven development and make programs more declarative and thus leave less room for bugs.<br />
<br />
Like many people from a scientific computing background, I tend to care a lot about performance and don't mind if that means not writing in a very high level language. The irony is that in practice I spend much longer developing and debugging programs than executing them, and that's not even taking into account that while a calculation is running I can use my time on something else.<br />
As the article shows, one aspect of high-level languages is that the higher degree of abstraction means you can express more about what you expect from the program, the point being that you'll spend less time tearing your hair out while explaining to an obtusely infuriating machine what you really meant to say.</description>
			<pubDate>Sat, 08 Sep 2012 04:36:00 GMT</pubDate>
			<author>donotreply@osnews.com (feydun)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[3]: It's interesting...</title>
			<link>http://www.osnews.com/thread?534329</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534329</guid>
			<description>My memory must be failing me because I thought haskell supported lazy evaluation and solving problems using automatic variable enumeration with constraints. Quite the contrary haskell requires all variables to hold exact values from their instantiation. Therefore it seems you are right that haskell is another functional language. Prolog is the language that requires a completely different way of thinking about algorithms, but I forget what other language it was similar to... oh well that's what happens when there are too many languages to keep track of - they all blur together.</description>
			<pubDate>Sat, 08 Sep 2012 04:43:00 GMT</pubDate>
			<author>donotreply@osnews.com (Alfman)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[4]: It's interesting...</title>
			<link>http://www.osnews.com/thread?534332</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534332</guid>
			<description>Haskell <b>is</b> lazily evaluated.</description>
			<pubDate>Sat, 08 Sep 2012 05:32:00 GMT</pubDate>
			<author>donotreply@osnews.com (satsujinka)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[5]: It's interesting...</title>
			<link>http://www.osnews.com/thread?534335</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534335</guid>
			<description>I was really referring to the lazy evaluation as it applies more specifically to prolog. In typical languages (and haskell) a variable can only hold one value (the value may be a list, but it's never the less discrete). In prolog a variable can hold all possible values at the same time and you need to add criteria to get to the values that you want. If you evaluate prolog variables at some intermediate points, it might produce an infinite number of possible values. However due to lazy evaluation, the language is able to do algebraic manipulation against sequence generators INSTEAD of attempting to test each possible discrete value. In other languages where a variable cannot represent more than one value, this doesn't really come up (whether the value is computed from a lazily evaluated function or not).<br />
<br />
It's really been a long time since I've worked with prolog, I'd have to go research it some more. It really is a fundamental change in the way we think of algorithms.</description>
			<pubDate>Sat, 08 Sep 2012 06:25:00 GMT</pubDate>
			<author>donotreply@osnews.com (Alfman)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: It's interesting...</title>
			<link>http://www.osnews.com/thread?534406</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534406</guid>
			<description><div class="cquote">I can write the relationships and constraints of the answer I want, but then it's up to the language to find a way to reach the answer. [...]<br />
It requires a radical shift in thinking, which is probably why it's not been popular. Several generations down the line though I hope we'll see more languages adopting the Haskell approach programming, emphasising the &quot;what&quot; instead of the &quot;how&quot;. </div><br />
Asking as a mostly layman: could that be the closest thing we have to the mythical / fantasy / cargo cult scifi standard of &quot;Computer! Do [one thing] and [some different thing]!&quot; commands? ;p</description>
			<pubDate>Sun, 09 Sep 2012 06:45:00 GMT</pubDate>
			<author>donotreply@osnews.com (zima)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[3]: It's interesting...</title>
			<link>http://www.osnews.com/thread?534454</link>
			<guid isPermaLink="true">http://www.osnews.com/thread?534454</guid>
			<description>Haha, well part of the problem is that while computers are good at running commands, those commands have to be preprogrammed and are very literal.<br />
<br />
I'd argue an unprogrammed human is equally incapable of executing commands, but the human has the capacity to learn dynamically from the environment. As we execute commands, the steps become ingrained. It's like a new job in something new, even if you are smart you are going to look like a baboon until the programming sets in.<br />
<br />
The show &quot;Undercover Boss&quot; is hilarious because you see how incompetent company CEOs are starting out from the bottom of their company.<br />
<br />
<a href="http://www.youtube.com/watch?v=8BAqimE2Dxg" rel="nofollow">http://www.youtube.com/watch?v=8BAqimE2Dxg</a><br />
<br />
<br />
If we want to give commands more naturally to computers, we'll probably have to expect alot of failures in the field and allow the computers to learn from their own mistakes just like a human would.</description>
			<pubDate>Sun, 09 Sep 2012 18:12:00 GMT</pubDate>
			<author>donotreply@osnews.com (Alfman)</author>
			<category>Comments</category>
		</item>
	</channel>
</rss>
