Hacker News new | past | comments | ask | show | jobs | submit login
The Haskell Platform 2011.2 is out: GHC 7 for all (haskell.org)
97 points by dons on March 10, 2011 | hide | past | favorite | 33 comments



Very nice! I've never written anything in Haskell beyond configuring Xmonad, so I don't know if this is how it works in the Haskell-world, but presenting it this way (the "Robust"-section in particular) really gives me the feeling that this is a great platform to explore. Libraries are extremely important, and choosing between similar ones leads to anxiety.

I think many languages should take after this. If not distribute libraries with the platform (batteries included), at-least bless some libraries. It'd be so much easier to get started with some languages (cough, Erlang) if authoritative characters in the loop would share their opinions.


It would be nice for this site to give more detailed advice on studying Haskell. Learning a language should be a side effect of studying its canon of programs. Is there a book that relates to Haskell as TAoCP does to machine code, SICP to Scheme, K&R to C, and the dragon book to Lex and Yacc?


Real World Haskell: < http://book.realworldhaskell.org/ >

Written by three of the most prolific and capable Haskell library developers. It covers everything from introductory functional concepts to high-performance C-style stateful programming.

You can buy a dead tree, or read it online for free.


At the time, the book seemed like a fresh breath of air, since it focused on solving real 'daily work'-style problems in Haskell. I used to recommend it to friends, but most of them were not so happy. The first few chapters are nice, but after that the examples really become contrived. Instead of giving simple standalone examples to explain a concept, the book starts using examples that tend to linger. People get bored or stuck and stop around chapter 6 to 8.

I am hopeful that Learn You a Haskell will serve as a good introduction to Haskell, and will recommend it to anyone interested.

RWH is still a fine book; once you understand Haskell, it's still great to go through the examples and exercises. But it is not a good starting point.


It definitely gets a little tough around the Parser example, but it does lighten up again once you get through the monad transformer section, though.

For someone who's done some functional programming before, Real World Haskell is probably a good starting point; otherwise something like YAHT would probably be better.


just finishing up a grad PL theory course, and RWH was definitely among the reading material. but i did find it anemic in many areas. i'll come back to that in a moment.

the pros of the book is that it offers a good introduction to the language and a reasonably good survey of some of the more advanced language features and tools such as QuickCheck, STM, concurrency/parallelism, etc.

the cons are that it leaves out one very new interesting direction called functional reactive programming, FRP, and i also thought its treatment of monads (esp. monad transformers) to be a bit thin. most of the time i just found myself going to publications on the more advanced topics than using a book such as RWH (or learnyouahaskell, which i actually quite like).

here are a few links i came across in the course that i think are worth sharing (in no particular order):

(1) http://www.cs.nott.ac.uk/~gmh/monads

(2) http://www.cs.nott.ac.uk/~gmh/monparsing.pdf

(3) http://www.grabmueller.de/martin/www/pub/Transformers.pdf

(4) http://pubs.doc.ic.ac.uk/error-handling-for-Haskell/error-ha...

(5) http://horna.org.ua/books/All_About_Monads.pdf

(6) http://web.cecs.pdx.edu/~mpj/pubs/springschool95.pdf

(7) http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html

some papers on FRP: http://conal.net/papers/icfp97/icfp97.pdf

this below is a link to a postscript version of "functional reactive programming from first principles", by hudak. http://j.mp/hkk6VC

and, finally, yet another haskell tutorial: https://secure.wikimedia.org/wikibooks/en/wiki/Haskell/YAHT

*EDIT: attempted to purtify multi-link mayhem.


I'm working through that book right now, and it's fantastic. I'd used haskell before in class, but I definitely suffered from the "fibonacci gap." Now, I'm starting to do small scripts in haskell, and hopefully I'll be able to tackle a decently-sized project soon. I can't recommend this book highly enough if you're curious about haskell.


The kindle edition isn't too bad, either, though you have to read it in Landscape mode to minimize the number of odd line-breaks in the code.


http://learnyouahaskell.com/

A very enjoyable tutorial. Supposedly, this site was going to come out in book form. If/when it does, it should become the de-facto "Camel book" for Haskell.


March 2011, 400 pp.

http://nostarch.com/lyah.htm


If you're new, you might like something easy like the "gentle introduction to haskell" http://www.haskell.org/tutorial/. Unfortunately it does not cover more recent and advanced features; for that I would recommend Oleg Kiselyov's site http://okmij.org/ftp/Haskell/ (he is somewhat famous in the community for bringing advanced Haskell features "down to earth" with clear, simple examples).


This is the first, and I suspect only, time I have heard Oleg's examples described as "clear" or "simple".


I've read some of his Scheme - thanks for pointing that out. Does anyone know who Oleg is in real life?


I've been working my way through Yet Another Haskell Tutorial: http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf


For a light-hearted, _why's Ruby guide style, there's the http://learnyouahaskell.com .


> Is there a book that relates to Haskell as TAoCP does to machine code, SICP to Scheme, K&R to C, and the dragon book to Lex and Yacc?

My vote would be for Richard Bird and Phil Wadler's Intro to functional programming using Haskell.


I have read a few chapters of this very beautiful book by Richard Bird called "Pearls of Functional Algorithm Design": http://www.amazon.com/Pearls-Functional-Algorithm-Design-Ric...

You should definitely check it out. If you already know Haskell and you love algorithms, that book will probably be more interesting than the Intro to Haskell book.

Also check out Okasaki's book of functional data structures: http://www.amazon.com/Purely-Functional-Structures-Chris-Oka...


Possibly more up to date in Hutton's Programming in Haskell. I've heard very good things about it: http://www.cs.nott.ac.uk/~gmh/book.html


I've read both books and like them both.

However, I prefer Bird/Wadler better because there's a pervasive "let's derive this"/"let's prove this" approach to the topics. By which I mean, given a spec, let's derive a program that does the task (and later, let's optimize this function using laws we know such as relations between map and filter, the laws of fold). Hutton takes this type of approach only in his final chapter.

Hutton is definitely easier, and does a better job of teaching you the core of Haskell, however Bird/Wadler teaches you how to derive programs from spec (further covered in Bird's Pearls of Functional Programming book).

I think the difference is like the one between How to Design Programs and Structure and Interpretation of Computer Programs.


Thanks. That sounds good.


Some advice is given in the "read more" link: http://hackage.haskell.org/platform/contents.html


Shameless plug here, but if you're interested in installing the platform but don't want it clogging up your dev environment I've created a snap project skeleton that will do it for you with Vagrant and Chef.

http://johnbender.us/2011/03/05/snap-setup-from-scratch-the-...

Snap is the only extra install and you can quite easily alter the haskell platform version in the Vagrantfile. I'll be updating this tonight when I get home if you don't mind waiting.


I'm using Ubuntu Maverick. The debs page (http://packages.ubuntu.com/search?keywords=haskell-platform) has 2010.1.0.0.1.

How do I get 2011.2 for Maverick?


You'll need to wait for your distro maintainer to update the package set. Alternatively, you can build from source, using a generic Linux ghc, like so:

http://www.vex.net/~trebla/haskell/haskell-platform.xhtml


Cool, thanks for the link.


Would be nice for the Haskell Platform to adopt a de facto IDE (e.g., Leksah) that was compatible across the major OS platforms and distribute it along with the other developer tools.


When I download a compiler and the core libraries for a language, I don't want to have to download an IDE with it—Haskell Platform downloads are generally slow enough already, without adding something that really shouldn't be considered part of the core functionality of a language.


I love Haskell, it's incredibly powerful, fast and elegant. However, I switched to Erlang because it's a heck of a lot easier to learn and it's quicker to sit down with it and produce something tangible. While I struggled to learn the concepts of Haskell, I immediately "clicked" with Erlang. I still wish to look up Haskell again though, it's very intriguing.


Question?

I'm an ubuntu/xmonad user. I also do some occasional haskell coding. I've been using the packaged versions of xmonad and the haskell platform thus far.

Are people building from source? Waiting for Natty? Using a ppa?


For most of my Haskell work, I just use the standard GHC package, with libraries installed in clean environments using ``cabal-dev``. Compatibility with Ubuntu-packaged libraries, such as xmonad or mtl, is too important to trade away for a new GHC.

For testing against GHC 7, I built from source and installed to ~/.opt/ghc_7.0.1 -- over the next few days I'll probably grab 7.0.2 and install in the same way. This is only for testing -- I don't built software against it, generally.

Building GHC from source is actually very easy -- just install the development packages, then ./configure && make . There's instructions in the GHC tarball.


I'll probably follow this strategy. I'll wait for the entire package structure to be revved in the next ubuntu release hopefully.

I'll run ghc7/cabal-dev from a portion of the home directory not in my path


Actually you can install only needed packages from cabal using it as `cabal install`.

Since it requires compiling the packages using either methods anyways.


Still no GUI programming support!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: