Simon Peyton-Jones - A Taste of Haskell
ontwik.com
ontwik.com
It's also great to attend any talk where he's in the audience, because he always finds a way to ask questions which intentionally create opportunities for the speaker to look better by diving off into some interesting subtopic or area of technical detail that they've overlooked. A real talent.
http://research.microsoft.com/en-us/um/people/simonpj/papers...
Notice the care taken to explain why STM is important, and its advantages over traditional locking (ease of use and composability). There's also two great new theoretical tidbits in this paper, the 'retry' and 'orElse' operators, which significantly expand the power of STM.
SPJ's good example has filtered throughout most of the Haskell community by now. I love programming in Haskell because it gives me an excuse to read these really cool papers (and it stretches my brain until I understand them).
http://news.ycombinator.com/item?id=2429082
ML may have lost the war, but from an academic and educational standpoint, folks in the ML community still have a lot to bring to the table.
A more apt analogy would be to consider two languages that extend C in different ways but for which the core of C can be used in both with almost no modification (D & C++?). I suppose a python/jython/ironpython comparison would be more accurate.
p.s. with respect to grandparent, I don't subscribe to the philosophy of casting everything in terms of winner take all wars.
I'm reading Cousineau's "The Functional Approach to Programming", which is based on ML, and I end up just translating most things into Haskell--the syntax feels much cleaner to me.
As far as research goes, CMU and Princeton are (as far as I know) the two ML strongholds in the US, with functional-programming research at most other departments dominated by Haskell. So I imagine the faculty were in favor of ML. The new course (http://www.cs.cmu.edu/~15150/) is being taught by Robert Harper, author of the book Programming in Standard ML (http://www.cs.cmu.edu/~rwh/introsml/).
Why do people have to write stuff like this? What is "leading" and why would that be important?
And, BTW, I am quite sure there is a lot more Erlang code running on phone centrals around the planet than Haskell code.
What other purely functional languages compete for Haskell's attention share?
There are also Spreadsheets, which are also purely functional, and even more popular to say the least but not leading. (The problem is that you can not define your own functions in Spreadsheets (without using imperative languages like Visual Basic).)
http://en.wikipedia.org/wiki/Pure_function
http://en.wikipedia.org/wiki/Purely_functional
Haskell has taken functional purity and ran with it. It's proof that you can eliminate side effects (sans the sin bin) and still actually get things done. The benefits of this can be seen in the papers written by SPJ, Wadler, etc. Moreover some features from Haskell/FP have influenced the mainstream programming community (Java generics).
As far as I know Erlang is not purely functional, nor does it try to be. On top of that, I think Erlang's emphasis is more on the actor model / message passing than it is on functional programming. That's my take at least.
But also more popular on:
* Tiobe; GitHub; Reddit; Transparent Language Rankings; IRC; Workshop size; Number of libraries...
Community matters.
I agree Haskell is important, but so is objectivity. Marketing spin gets in the way.