There are three mailing lists to discuss issues related to Haskell in general, and several additional mailing lists for more detailed discussion topics, including one for each particular implementation of Haskell.
- Subscribe to firstname.lastname@example.org (announces only, low traffic)
- Subscribe to email@example.com (very busy, daily community discussion)
- Subscribe to firstname.lastname@example.org (busy, daily community discussion)
- A comprehensive list of all mailing lists hosted at haskell.org
- Lists hosted at projects.haskell.org
Mailing lists in detail
- email@example.com (archives)
- Announcements only.
firstname.lastname@example.org is intended to be a low-bandwidth list, to which it is safe to subscribe without risking being buried in email. If a thread becomes longer than a handful of messages, please transfer to email@example.com.
- firstname.lastname@example.org (archives)
- General Haskell questions; extended discussions.
In Simon Peyton Jones' words: "forum in which it's acceptable to ask anything, no matter how naive, and get polite replies."
- email@example.com (archives)
- Beginner-level, i.e., elementary, Haskell questions and discussions.
In the words of Benjamin L. Russell (the one who first suggested creating the mailing list and the current administrator): "Here, there is no such thing as a 'stupid question.'"
Mailing list tone
In practice, 'haskell' tends to be devoted mainly to announcements, 'haskell-cafe' tends to be devoted mainly to freeform discussion, and 'haskell-beginners' tends to be devoted mainly to beginner-level Haskell language discussions.
The division of the general list into announcements and the cafe was introduced for people who want to stay in touch with what's happening in the Haskell world, but who don't want to be swamped with mail. If you are new to Haskell, then you have a choice: either haskell-cafe, or haskell-beginners.
The readership of the three mailing lists also varies. Whereas both 'haskell' and 'haskell-cafe' tend to be frequented by either language designers or researchers, 'haskell-beginners' tends to be frequented by beginner-level students and educators. 'Haskell-beginners' was created to address the needs of readers of 'haskell-cafe' who felt that the discussion there was either too academic, or too mathematical.
When posting on 'haskell-cafe', remember:
- Respect others. This is a civil discussion forum. Remember, the person on the other side of the keyboard is a person too, and is probably well-intentioned.
- Try to keep discussions on-topic. Threads that have lost any relevance to the Haskell language should be moved elsewhere, including tangential or joking posts (though humor in the context of on-topic discussion is welcome.)
- Think before sending. Avoid content-free posts, such as a message consisting merely of the phrase "+1." The etiquette for academic mailing list discussions is different from the etiquette for other Internet fora or for ordinary conversation. Remember that your posting will be sent to thousands of people, some of whom are very busy. Ask yourself whether your contribution adds anything of value to any of them.
- Bottom post and trim irrelevant parts of earlier replies. It's more natural to read the context of the original message and then a response instead of backwards. But if you quote too much of the original message, people will likely give up before getting to the new comment you added several pages down.
In the case of 'haskell-beginners', please keep in mind the following pointers when posting:
- Since many readers of this mailing list are beginner-level students of Haskell, try to keep the discussion at a level that allows students of all backgrounds to participate in the discussion. I.e., when explaining difficult concepts, be careful not to assume an advanced background of the reader. For example, don't start a discussion on monads by saying: "A monad is a category theory-based data structure used to supplement pure computations with features like state, common environment or I/O." Instead, say: "A monad is a tool used in Haskell when we want to allow a program to do anything other than just return a value."
- Again, since many readers of this mailing list are beginner-level students of Haskell, do not assume that readers have an advanced mathematics background, or that they know everything that may seem elementary to a computer science student. For example, if a student here asks whether the screen resolution is important in determining the precision of an algorithm to compute prime numbers by picking points randomly from a square, do not accuse the student of "polluting" the newsgroup by asking a question that "has nothing to do with Haskell." Understand that the student may not have enough mathematical or programming background to realize that screen resolution may be independent of the precision of the actual algorithm used to compute the prime numbers, which may then be represented on the screen independently of the precision of the algorithm itself. If beginner-level students are required to worry about offending somebody with a question that is too elementary every time they need an answer, they will stay beginners.
Haskell mailing lists are managed by mailman - each list has a web interface. To subscribe, unsubscribe, or view the archives of a list visit the home page of the list, such as the Haskell mailing list home page, the Haskell Cafe mailing list home page, or the Haskell-Beginners mailing list home page.
mail-archive.com provides an archive of all messages sent to the haskell list since March 1997. This includes messages from before the list was converted to mailman. You may search these archives: haskell archive, haskell-cafe archive, and haskell-beginners archive.
MarkMail has a searchable archive of all Haskell lists going back to around 2000.
Also, the archives of the Haskell mailing list from September 1990 until 2006, before and after the list was converted to mailman, are hosted here (and as a tar file). Related to this is the archives of comp.lang.functional going back to 1990.
You may also search the mailing list using the Google Coop Haskell Search Engine.
The following archives exist:
- gmane (info) 2006/12-present
- mailman 2000/10-present
- mail-archive 1997/03-present
- haskell archives 1990-2000 (and Simon PJs original tarball 1990-2000)
- gmane (info) 2002/04-present (On 2022-07-06 this leads to the wayback machine, and is not very useful)
- mailman 2000/10-present (This is an archive but is not searchable, each month is a separate file)
- mail-archive 1997/03-present (This is an archive is searchable, but only starts in late 2015)
- markmail a searchable archive with a great user interface, use list:haskell-cafe
More specific lists
There are mailing lists for each implementation of Haskell, and for more detailed discussion topics. Questions, comments, and bug reports regarding a specific implementation should be sent directly to the appropriate list instead of the entire Haskell community. Separate topics such as documentation tools, the common FFI, and libraries, also have lists of their own.
There are also Haskell related mailing lists that are not hosted at haskell.org.