Internet Relay Chat is a worldwide text chat service with many thousands of users among various irc networks.
The Freenode IRC network hosts the large #haskell channel, and we've had up to 704 concurrent users (average is 581), making the channel the 5th largest of the 7000 channels on freenode (Feb 2009). One famous resident is Lambdabot, another is hpaste (see the Bots section below).
The IRC channel can be an excellent place to learn more about Haskell, and to just keep in the loop on new things in the Haskell world. Many new developments in the Haskell world first appear on the irc channel.
Since 2009, the Haskell channel has grown large enough that we've split it in two parts:
- #haskell, for all the usual things
- #haskell-in-depth , for those seeking in depth, or more theoretical discussion
As always, #haskell remains the primary place for new user questions.
<div class="thumb tright">
If you point your irc client to chat.freenode.net and then join the #haskell channel, you'll be there. Alternately, you can try http://java.freenode.net/ or http://webchat.freenode.net/ which connects inside the browser.
Example, using irssi:
$ irssi -c chat.freenode.net -n myname -w mypassword /join #haskell
Tip, if you're using Emacs to edit your Haskell sources then why not use it to chat about Haskell? Check out ERC, The Emacs IRC client. Invoke it like this and follow the commands:
M-x erc-select ... /join #haskell
The #haskell channel is a very friendly, welcoming place to hang out, teach and learn. The goal of #haskell is to encourage learning and discussion of Haskell, functional programming, and programming in general. As part of this we welcome newbies, and encourage teaching of the language.
Part of the #haskell success comes from the approach that the community is quite tight knit -- we know each other -- it's not just a homework channel. As a result, many collaborative projects have arisen between Haskell irc channel citizens.
To maintain the friendly, open culture, the following is required:
- Low to zero tolerance for ridiculing questions. Insulting new users is unacceptable
New Haskell users should feel entirely comfortable asking new questions.
Helpful answers should be encouraged with
points, in public, as a reward for providing a good answer.
As the channel grows, we see a diverse range of people, with different programming backgrounds, trying to make their way with Haskell. A good rule of thumb, to avoid frustration is:
- approach negative comments by asking for details (kind of like Socratic questioning), rather than challenging the competence of the writer (ad hominem).
The #haskell channel appeared in the late 90s, and really got going in early 2001, with the help of Shae Erisson (aka shapr).
A fairly extensive analysis of the traffic on #haskell over the years is kept here
In addition to the main Haskell channel there are also:
|#haskell.cz||Czech speakers (UTF-8)|
|#haskell.ru||Russian speakers. Seems that most of them migrated to Jabber conference (email@example.com).|
|#haskell_ru||Russian speakers again, in UTF-8. For those, who prefer good ol' IRC channel with a lambdabot.|
|#haskell-blah||Haskell people talking about anything except Haskell itself|
|#haskell-books||Authors organizing the collaborative writing of the Haskell wikibook and other books or tutorials.|
|#gentoo-haskell||Gentoo/Linux specific Haskell conversations|
|#arch-haskell||Arch Linux/ specific Haskell conversations|
|#darcs||Darcs revision control channel (written in Haskell)|
|#perl6||Perl 6 development (plenty of Haskell chat there too)|
|#happs||HAppS Haskell Application Server channel|
|#xmonad||Xmonad a tiling window manager written in Haskell|
|#haskell-iphone||iPhone Haskell-based iPhone development|
Logs are kept at a few places, including
Lambdabot provides many useful services for visitors to the IRC channel. Check out its wiki page for information on its commands.
The hackage bot provides real-time notifications of new package uploads to Hackage.
To get an overview of where everybody on the channel might be, physically, please visit Haskell user locations.