This is a collection of articles about using the Haskell programming language to accomplish the sorts of tasks you might want a computer to do.
There's already a number of good guides for learning Haskell that I can recommend from having used them myself (either part of them or all of them):
- More Advanced
But even with all of that, sometimes things aren't always clear. There is, quite simply, a lot of Haskell.
So with this project I'm attempting to fill in some of those gaps. This will largely be similar in format to the "What I Wish I Knew" guide. However, instead of covering as many topics as possible, and then each one only being touched on slightly, I hope to cover a few topics of interest with longer examples and more details. I'm a hobbyist programmer, so the focus will be on basic hobbyist sorts of concerns that sometimes get left out of Haskell guides. The two main things I hope to focus on are:
- How can I actually interact with a user in a complete program?
- How can I read a guide about something neat in another language and then do it in Haskell?
I obviously can't cover every topic fully, and to grow as a Haskell user you'll have to get lots of perspectives on Haskell.
- Stack Overflow
- There is a
#haskellIRC Channel on Freenode, as well as several sibling channels (
- There's a
#haskellchannel in the Functional Programming Discord, which gets less traffic than the IRC channel, but at least there's a channel history so you can see if you missed any messages.
- Some Mailing Lists
The code examples that I've written here are released into the public domain (or CC0 for countries that don't recognize public domain). Code examples are any portion that's in a fixed-width code block, such as this:
fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2)
The non-code text of this document is available under the CC BY-SA 4.0 International license.
Any excerpts from libraries are still under that library's own license of course, and such excerpts will say so and list the appropriate license.
If you have something that you think should be changed, you can start a discussion about it.
I suppose you can also try sending a private message to me (Lokathor on Freenode, Lokathor#2627 on Discord). Discord is a reliable enough form of communication, but IRC is sadly not.