HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
bitemyapp
learnhaskell
Makefile2014–2022
bitemyapp / learnhaskell

learnhaskell

Learn Haskell

33Distinct people
64Mentions
2Explicit recommenders
8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Learn Haskell

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I recommend this, https://github.com/bitemyapp/learnhaskell

lockfinn used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 7:02:50 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year64 dated mentions

Observed mentions: 2014-05-20 11:05:25 UTC to 2022-11-01 06:32:14 UTC.

05101520252014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 23 mentions; 1 submissions, 22 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 25 mentions; 1 submissions, 24 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC23122
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC25124
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC707
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
How to learn Haskell This is a recommended path for learning Haskell based on experience helping others. A list of recommendations from one of the authors of the Haskell Book. For non-English speakers Auf Deutsch En Español En Français Na Hrvatskom Bahasa Indonesia In Italiano 日本語 한국어 Em Português În Română По-русски Srpski Sa Tagalog Türkçe Українською 简体中文 繁體中文 Don't sweat the stuff you don't understand immediately. Keep moving! Community Our IRC channel is #haskell-beginners on Libera Chat. IRC web client here. The haskell mailing lists. Community Guidelines See the community guidelines to understand the conduct that is expected in the IRC channel. You'll get a warning if you're not obviously trolling, but be aware the channel is exclusively for those learning or teaching Haskell. Installing Haskell Use Stack to get going with Haskell Get Stack to get GHC installed and to build your projects. If you don't know anything about Stack and would like an overview, check out this comprehensive Stack video tutorial. Also, DO NOT INSTALL HASKELL PLATFORM Instead of following the instructions on Haskell.org, get Stack. Why not platform? https://mail.haskell.org/pipermail/haskell-community/2015-September/000014.html How should I learn Haskell? The core recommendation is to read the lectures and complete all exercises/homework for the Spring 13 version of cis1940 followed by the FP course. Both are linked below. Everything else can be considered optional and is mentioned so you know where to look. Haskell Programming from First Principles. @dmvianna wanted me to let you know that the below are just the free recommended resources. If you're willing to check out a book, we heartily recommend our own Haskell Book! If you can't afford the book for any reasons, please email us using the contact information at our support page. Haskell Book subsumes all of the primary resources recommended here Yorgey's cis1940 course Do this first if aren't getting the Haskell Book, this is the best free introduction to Haskell. Available online. Brent Yorgey's course is the best I've found so far. This course is valuable as it will not only equip you to write basic Haskell but also help you to understand parser combinators. The only reason you shouldn't start with cis1940 is if you are not a programmer or are an inexperienced one. If that's the case, start with Thompson's book and transition to cis1940. Functional Programming course This is the course we recommend doing after Yorgey's cis1940 course Available on github here. This will reinforce and give you experience directly implementing the abstractions introduced in cis1940, this is practice which is critical to becoming comfortable with everyday uses of Functor/Applicative/Monad/etc. in Haskell. Doing cis1940 and then the FP course represents the core recommendation of my guide and is how we teach everyone Haskell. Supplementary course after cis1940 and the FP course Provides more material on intermediate topics cs240h is available online: Spring 14 Winter 16 This is Bryan O'Sullivan's online course from the class he teaches at Stanford. If you don't know who he is, take a gander at half the libraries any Haskell application ends up needing and his name is on it. Of particular note if you've already done the Yorgey course are the modules on phantom types, information flow control, language extensions, concurrency, pipes, and lenses. Resources for specific topics in Haskell These resources are not vetted or tested with learners as cis1940 and FP course have been, but they're linked in the topic listing so you have ideas on where to begin. This includes things like intermediate/advanced concepts and subjects like tooling and text editors. Dialogues Hosted in this repository here. These are actually pretty important and helpful. Look here for deep dives on a variety of topics.
Read the full README on GitHub

What Hacker News says

23 sources
I've taught a lot of people Haskell, including non-programmers. After a few months of starting from nothing (zero programming experience), my main non-programmer student is now coauthoring a book on learning Haskell [1] with me. Learning Haskell doesn't have to be hard. It helps to follow a guide designed by people that have plenty of experience teaching Haskell [2]. There is an IRC channel at #haskell-beginners on Freenode. The author of the post refused to avail himself of other peoples' help, particularly via the mailing list. If you seek help you can learn Haskell and apply it to practical problems in less time than you'd think. [1]: http://haskellbook.com [2]: https://github.com/bitemyapp/learnhaskell
In Language is not important
It’s a bit like the transition from the bronze age to the iron age. It wasn’t a sudden switch and while the iron tools owned the future, they were inferior at first. Took a long time before iron tools and weapons became the most popular thing, even after iron tools could be made that were superior to bronze. Popularity doesn't say anything about tool quality. A lot changed from 2010-2012 for Haskell. There was an explosion of libraries and tool fix-up. This continues, no doubt, but it has shifted the equation in favor of tools that don't have to make compromises that harm productivity. I teach Haskell in a decided un-academic manner. This is partly because I have no academic background nor degree. It is also because I teach people Haskell in a manner designed to enable its use for practical projects. This is the guide I use to teach peopl
Read the rest
e Haskell: https://github.com/bitemyapp/learnhaskell I've taught Haskell successfully for the last year to programmers and non-programmers.
In Functional programming and condescension
The principal thing I push learners towards after Haskell would be things like Coq and Agda. Coq has better learning materials, Agda has Haskell integration. The usual sequence is [1] followed by [2]. Augment with [3] and [4] as needed. One negative thing about Coq/Agda/Idris is they don't have a satisfactory encoding of typeclasses [5]. This is a problem in general with all dependently typed languages. Proof obligations get "churned" by changing code and the only tool to address that is extremely general proof terms combined with proof search. The best proof search is Coq, but the code extraction is heartburn-inducing for Haskell users. Whereas in Haskell, we get extremely lightweight and type-safe code refactoring because of the way in which we leverage typeclasses and parametricity. This turns out to be very valuable as your projects g
Read the rest
In Haskell Is Exceptionally Unsafe (2012)
>Sometimes it turns out you need to do something with IO somewhere, and now you have to change all the functions down the way to use it. Que no! Bloodhound, which is expressly about talking to an outside database, has >500 type signatures. Fewer than 40 have IO in them. You most certainly do not need to add IO to pure code just because something in IO invokes it. This is why we have things like Functor, monad transformers, etc. Want to know more? https://github.com/bitemyapp/learnhaskell
In Getting It Done with Haskell
I teach a lot of Haskell [1] and observe a lot of people teaching Haskell. Write Yourself a Scheme is not representative of how the Haskell community teaches Haskell. I can't even remember the last time it was cold-suggested to somebody. The last person I knew to do so, did so knowing they were going about it the "hard way". They also did it with the intent of actively upgrading/updating the code WYASI48H as they went into a more modern style. They gave a talk on it after. It's a good way to firm up your knowledge if it's the sort of project that interests you, but needs love and isn't a good introduction for most. [1]: https://github.com/bitemyapp/learnhaskell
In Getting It Done with Haskell
Yes, really. Reference the SO post linked to; there are numerous people who had issues updating cabal-install. I've seen them referenced in /r/haskell and in Haskell documentation. The homebrew installation of haskell-platform may resolve some of these issues; I'm not familiar with it. Additionally, you're working with the knowledge that once you install Haskell Platform, you need to update cabal-install (This is not something a newcomer would expect given that they just downloaded cabal via Haskell Platform). Just getting the Platform installed is misleading as well; there's still the issue of dealing with package conflicts which happens frequently in Haskell and is non-trivial to deal with for a newcomer. Finally, using Haskell Platform at all might cause troubles; it's explicitly recommended against by the popular Getting Started guide
Read the rest
by bitemyapp https://github.com/bitemyapp/learnhaskell because it uses the global package database.
In Why No One Uses Functional Languages (1998) [pdf]
Setting up Haskell is actually pretty well understood nowadays thanks to tons of people going through the flow and posting the latest "how to" here: https://github.com/bitemyapp/learnhaskell . For Ubuntu for example, it's not much harder than installing a few packages from a PPA and adding a line to your $PATH Cabal does OK for the most part nowadays, but it's definitely still a challenge with the monster projects like Yesod. Supposedly that's a work in progress for now.
In Why No One Uses Functional Languages (1998) [pdf]

Showing the 15 most recent of 23 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.