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 email@example.com (announces only, low traffic)
- Subscribe to firstname.lastname@example.org (very busy, daily community discussion)
- Subscribe to email@example.com (busy, daily community discussion)
1 Mailing lists in detail
- firstname.lastname@example.org (read & search via gmane)</dt>
- Announcements, discussion openers, technical questions</dd>
- email@example.com (read & search via gmane)</dt>
- 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."
- firstname.lastname@example.org (read & search via gmane)</dt>
- 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.'"</dd>
1.1 Mailing list tone
The division of the general list 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. Discussions of any kind can start on 'haskell', but should transfer to 'haskell-cafe' if they go beyond a few 'rounds'. Alternatively, if you are new to Haskell, then you have a choice: either haskell-cafe, or haskell-beginners.
In practice, 'haskell' tends to be devoted mainly to announcements; 'haskell-cafe' tends to be devoted mainly to research-oriented Haskell language issues; and 'haskell-beginners' tends to be devoted mainly to beginner-level Haskell language discussions.
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.
In the case of 'haskell-cafe', please keep in mind the following pointers when posting:
- Avoid inflammatory or obscene language. This is a civil discussion forum. Name-calling, in particular, will not be tolerated, and offenders may be subject to moderation (banning).
- Avoid sarcasm. Ideally, posts should focus on research issues, and be devoid of any kind of non-strictly-relevant emotion.
- Avoid irrelevant jokes. This is a discussion forum for serious, research-oriented issues on the language Haskell.
- Avoid discussion of tangential or orthogonal issues. For example, discussing the language Haskell itself is relevant, but discussing, say, how to implement graphics routines whose screen resolution is determined by precision of computation of prime numbers in an algorithm that may be implemented in Haskell is tangential. Tangential issues tend to be frowned upon. Try to stick to discussing the Haskell language itself, as opposed to issues that are merely related to topics loosely connected with Haskell.
- Avoid content-free posts. For example, do not post an article consisting merely of the phrase "+1." Remember that researchers regularly read 'haskell-cafe' to discuss their research, and that the phrase '+1' does not, by itself, assist research. Try to post issues that contribute to research discussion on the language Haskell.
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.
1.2 Subscription information
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.
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.
In short, we have the following archives:
- gmane (info) 2006/12-present
- mailman 2000/10-present
- mail-archive 1997/03-present
- dons archive (tar) 1990/09-2006/08
2 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 a list of their own.
3 Outside haskell.org
There are also Haskell related mailing lists that are not hosted at haskell.org.