Revision as of 14:45, 3 June 2010

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 723 concurrent users (average is 655), making the channel
the 5th largest
of the 7000 channels on freenode (Feb 2009) and the second largest programming language channel after Python. 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

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

A screenshot of an irssi session in #haskell

2 Principles

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

name++

karma

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).

3 History

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

4 Related channels

In addition to the main Haskell channel there are also:

Channel

Purpose

#haskell.cz

Czech speakers (UTF-8)

#haskell.de

German speakers

#haskell.dut

Dutch speakers

#haskell.es

Spanish speakers

#haskell.fi

Finnish speakers

#haskell.fr

French speakers

#haskell.hr

Croatian speakers

#haskell.it

Italian speakers

#haskell.jp

Japanese speakers

#haskell.no

Norwegian speakers

#haskell.pt

Portuguese speakers

#haskell.ru

Russian speakers. Seems that most of them migrated to Jabber conference (haskell@conference.jabber.ru).

#haskell_ru

Russian speakers again, in UTF-8. For those, who prefer good ol' IRC channel with a lambdabot.

#haskell.se

Swedish speakers

#haskell-overflow

Overflow conversations

#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.

5 Logs

6 Bots

6.1 Lambdabot

Lambdabot is both the name of a software package and a bot on the channel. It provides many useful services for visitors to the IRC channel. It is available as a haskell package and can be integrated into ghci. Details on the software are found on a separate wiki page.

Here is its interface for the IRC user:

Command

Usage

help

display help to other commands, but help text is not available for all commands.

...

...

6.2 preflex

is the name of a lambdabot with more commands/plugins enabled. It is run by ??