Haskell Information and Resources

  • (2 Pages)
  • +
  • 1
  • 2

21 Replies - 10864 Views - Last Post: 16 November 2012 - 09:30 AM

#1 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Haskell Information and Resources

Posted 09 December 2009 - 07:10 PM

I'm creating this topic to list some Haskell resources, give a little help getting started, and put you on the right path.

Installation:

The best way to install Haskell is via The Haskell Platform which you can download for various operating systems here. The Haskell Platform is a standard Haskell distribution for every system. You can find instructions for installing it on your system at the web page I linked. I'm not going to reiterate those instructions.

Editors:

There are plenty of ways to edit Haskell code. There is a great Vim plugin that you can find information about here.

There is also an Emacs major mode, which is what I use, and it works phenomenally, and I recommend it over everything else I'll mention here. You can find haskell-mode here.

There is an Eclipse plugin that is currently in development that you can find here. It will not be very useful unless you know Eclipse-foo and know how to build plugins and such.

There is a Haskell IDE written in Haskell that I can't vouch for, because I can't get the damn thing to compile on my system. I hear good things about it though, and there is a Windows installer available for it, so the Windows people should enjoy this. You can find Leksah here.

There is also the less common editors like Yi and such around, but this pretty much covers the most used editors. As I said before, I recommend Emacs over all of them, but I'm biased - I'm a Lisper. ;)

A complete list of Haskell editors can be found here.

Books and Tutorials:

The best book available for Haskell right now is real-world oriented, and is recommended for people who already know a language, and want to learn Haskell for real-world projects.[1] It's called Real World Haskell and you can read it online here. Of course, you can purchase it in Ebook and dead-tree form, but I just read it online because I'm poor.

There is a tutorial for less experienced users, and this tutorial might be a good thing to read before you read Real World Haskell, as it's extremely gentle and even kind of funny. It's called Learn You A Haskell or LYAH for short, and you can read it here. There is also a PDF here[2]. Note that it is incomplete, and doesn't yet go into advanced concepts. I recommend you get all you can from this tutorial and then read Real World Haskell.

There is a complete list of tutorials here, along with a complete list of books here.

GUI toolkits:

I would not be surprised if people thought that you couldn't code GUIs in Haskell. That is incorrect. There are several mature and useful Haskell GUI libraries, including bindings to GTK here, and WxWidgets that you can find information about here. WxHaskell is a series of packages on Hackage. While Gtk2hs isn't a hackage package, they do offer a Windows installer, binaries for several *nix flavors and a source package.

A complete list of toolkits can be found here.

Resources:

Besides Google, there are some resources you should know about when using Haskell.

The first, and most important, is Hoogle. It's a standard library search engine. You can put in a type signature, or a name, and it will find what you're looking for in the standard library. You can also use this from the command-line by cabal installing hoogle, and there is a command that you can use in the Emacs haskell-mode to use it there as well.

The second is the similar Hayoo. I believe this one also searches the packages on Hackage.

Speaking of Hackage, that's another amazingly useful resource. It's a place where most Haskell libraries are stored. There are Haskell libraries for virtually everything on Hackage. It's located here. The packages are indexed by category.

You can find a list of mailing lists here.

A good place to ask questions about Haskell is of course, right here on DiC. I'd use Haskell-Cafe or Stackoverflow.com for questions that nobody else can answer. Haskell-Cafe is a last-resort kind of thing for me.

And last but not least, there is a very nice Haskell cheatsheet that you can download after installing Haskell via the Haskell platform by typing 'cabal install cheatsheet' on a terminal.


For as long as I'm allowed to edit this topic, I'll include more stuff as I think of it. If you find any errors or think I should include something I haven't mentioned, please PM me.

1. OMG HASKELL CAN BE USED IN THE REAL WORLD WTF11!
2. Thanks to EdwinNameless for bringing that to my attention.

This post has been edited by Raynes: 10 December 2009 - 10:16 AM


Is This A Good Question/Topic? 3
  • +

Replies To: Haskell Information and Resources

#2 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2270
  • View blog
  • Posts: 9,496
  • Joined: 29-May 08

Re: Haskell Information and Resources

Posted 10 December 2009 - 05:58 AM

Functional Programming Lecture Series presented by Erik Meijer
Channel 9 Lectures

It doesn't feel like a lecture.
Was This Post Helpful? 0
  • +
  • -

#3 EdwinNameless  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 120
  • View blog
  • Posts: 710
  • Joined: 15-October 09

Re: Haskell Information and Resources

Posted 10 December 2009 - 06:18 AM

I can recommend Yet Another Haskell Tutorial (YAHT): I learnt Haskell with it last year, and really enjoyed it!

Edit: fixing URL.

This post has been edited by EdwinNameless: 10 December 2009 - 06:19 AM

Was This Post Helpful? 0
  • +
  • -

#4 erik.price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 485
  • View blog
  • Posts: 2,690
  • Joined: 18-December 08

Re: Haskell Information and Resources

Posted 10 December 2009 - 07:49 PM

Nice list of resources :^:
I'm bookmarking a couple of the links so that when I finally get some free time, I can take a stab at Haskell :)
Was This Post Helpful? 0
  • +
  • -

#5 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Haskell Information and Resources

Posted 10 December 2009 - 10:10 PM

View Posterik.price, on 10 Dec, 2009 - 06:49 PM, said:

Nice list of resources :^:
I'm bookmarking a couple of the links so that when I finally get some free time, I can take a stab at Haskell :)


Thank you. If you need any help with anything, shoot me a message.
Was This Post Helpful? 0
  • +
  • -

#6 erik.price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 485
  • View blog
  • Posts: 2,690
  • Joined: 18-December 08

Re: Haskell Information and Resources

Posted 11 December 2009 - 12:50 PM

Will do. I actually stayed up pretty late last night trying out some basic Haskell. Still doesn't make sense, but I'm working on it :)
Was This Post Helpful? 0
  • +
  • -

#7 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Haskell Information and Resources

Posted 12 December 2009 - 09:55 PM

View Posterik.price, on 11 Dec, 2009 - 11:50 AM, said:

Will do. I actually stayed up pretty late last night trying out some basic Haskell. Still doesn't make sense, but I'm working on it :)


When you're first learning a functional language, you have to really sit down and study as if you have no idea what programming is. You have to learn to put yourself in the functional state of mind, and then everything becomes clear. The primary reason people end up not using Haskell, or hating Haskell and other functional languages, is because they don't put enough effort into understanding them, and end up thinking they don't need them. It's sad really. If something doesn't make sense, give me a ring and I'll try to explain it to you.
Was This Post Helpful? 0
  • +
  • -

#8 mostyfriedman  Icon User is offline

  • The Algorithmi
  • member icon

Reputation: 727
  • View blog
  • Posts: 4,473
  • Joined: 24-October 08

Re: Haskell Information and Resources

Posted 13 December 2009 - 08:34 PM

functional programming is awesome coz its all recursion :D
Was This Post Helpful? 0
  • +
  • -

#9 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Haskell Information and Resources

Posted 13 December 2009 - 09:34 PM

View Postmostyfriedman, on 13 Dec, 2009 - 07:34 PM, said:

functional programming is awesome coz its all recursion :D



Functional programming is great for so many reasons, it's absolutely shocking that most people completely ignore it's existence.

Clojure has a couple of loop structures. People hardly use them.

This post has been edited by Raynes: 13 December 2009 - 09:38 PM

Was This Post Helpful? 0
  • +
  • -

#10 mostyfriedman  Icon User is offline

  • The Algorithmi
  • member icon

Reputation: 727
  • View blog
  • Posts: 4,473
  • Joined: 24-October 08

Re: Haskell Information and Resources

Posted 13 December 2009 - 11:53 PM

pattern matching in haskell is sexy
Was This Post Helpful? 0
  • +
  • -

#11 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Haskell Information and Resources

Posted 14 December 2009 - 12:21 PM

View Postmostyfriedman, on 13 Dec, 2009 - 10:53 PM, said:

pattern matching in haskell is sexy


Indeed. I've yet to find a language where it is as sexy as it is in Haskell.
Was This Post Helpful? 0
  • +
  • -

#12 YamNad  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 9
  • View blog
  • Posts: 120
  • Joined: 11-July 09

Re: Haskell Information and Resources

Posted 30 December 2009 - 04:45 PM

Haskell IRC channels.

Mayhap DIC should maintain a Clojure resource thread also. Of late, I'm stacking up a lot of useful Clojure bookmarks. Although, I see Clojure is not of the most popular languages here.
Was This Post Helpful? 0
  • +
  • -

#13 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Haskell Information and Resources

Posted 31 December 2009 - 09:35 AM

View PostYamNad, on 30 Dec, 2009 - 03:45 PM, said:

Haskell IRC channels.

Mayhap DIC should maintain a Clojure resource thread also. Of late, I'm stacking up a lot of useful Clojure bookmarks. Although, I see Clojure is not of the most popular languages here.


Thanks for the link. I didn't think about that.

I'm considering a Clojure thread similar to this one as well, but it would be a bit more difficult to create and maintain, given the nature of the fast-moving Clojure community.
Was This Post Helpful? 0
  • +
  • -

#14 Shane Hudson  Icon User is offline

  • D.I.C Technophile
  • member icon

Reputation: 343
  • View blog
  • Posts: 1,286
  • Joined: 06-December 09

Re: Haskell Information and Resources

Posted 19 January 2010 - 12:54 PM

As an information and resources thread.. it would be great if you could write something about what Haskell and functional languages are. I have been programming for the majority of my lifetime, yet to be honest I have no idea what they are (I will google it, but it would be useful to others to have a description here!)
Was This Post Helpful? 0
  • +
  • -

#15 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Haskell Information and Resources

Posted 19 January 2010 - 02:10 PM

View PostShane Hudson, on 19 Jan, 2010 - 11:54 AM, said:

As an information and resources thread.. it would be great if you could write something about what Haskell and functional languages are. I have been programming for the majority of my lifetime, yet to be honest I have no idea what they are (I will google it, but it would be useful to others to have a description here!)


I agree. The problem here is that Functional Programming is a difficult topic to describe. When people ask me what Haskell or Clojure or Functional programming in general is, I typically direct them here here and here. I think will suffice, and as I can't edit this topic, this post will have to do. :)
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2