{"id":13393844,"url":"https://github.com/bitemyapp/learnhaskell","last_synced_at":"2025-05-14T02:08:21.916Z","repository":{"id":17187692,"uuid":"19955205","full_name":"bitemyapp/learnhaskell","owner":"bitemyapp","description":"Learn Haskell","archived":false,"fork":false,"pushed_at":"2023-09-30T22:55:47.000Z","size":3767,"stargazers_count":7996,"open_issues_count":13,"forks_count":554,"subscribers_count":259,"default_branch":"master","last_synced_at":"2025-04-14T18:57:23.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitemyapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2014-05-19T19:43:26.000Z","updated_at":"2025-04-14T11:12:54.000Z","dependencies_parsed_at":"2024-01-08T14:30:40.006Z","dependency_job_id":"de4b4bd9-61f2-42cd-adf8-25a178bec111","html_url":"https://github.com/bitemyapp/learnhaskell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitemyapp%2Flearnhaskell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitemyapp%2Flearnhaskell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitemyapp%2Flearnhaskell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitemyapp%2Flearnhaskell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitemyapp","download_url":"https://codeload.github.com/bitemyapp/learnhaskell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254053152,"owners_count":22006717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:01:01.225Z","updated_at":"2025-05-14T02:08:16.905Z","avatar_url":"https://github.com/bitemyapp.png","language":"Makefile","readme":"# How to learn Haskell\n\nThis 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.](https://haskellbook.com)\n\n## For non-English speakers\n\n- [Auf Deutsch](guide-de.md)\n\n- [En Español](guide-es.md)\n\n- [En Français](guide-fr.md)\n\n- [Na Hrvatskom](guide-hr.md)\n\n- [Bahasa Indonesia](guide-id.md)\n\n- [In Italiano](guide-it.md)\n\n- [日本語](guide-ja.md)\n\n- [한국어](guide-ko.md)\n\n- [Em Português](guide-pt.md)\n\n- [În Română](guide-ro.md)\n\n- [По-русски](guide-ru.md)\n\n- [Srpski](guide-sr.md)\n\n- [Sa Tagalog](guide-tl.md)\n\n- [Türkçe](guide-tr.md)\n\n- [Українською](guide-ua.md)\n\n- [简体中文](guide-zh_CN.md)\n\n- [繁體中文](guide-zh_tw.md)\n\n#### _Don't sweat the stuff you don't understand immediately_. Keep moving!\n\n## Community\n\nOur IRC channel is `#haskell-beginners` on [Libera Chat](https://libera.chat/).\n\nIRC web client [here](https://web.libera.chat/).\n\nThe haskell [mailing lists](https://wiki.haskell.org/Mailing_lists).\n\n### Community Guidelines\n\nSee [the community guidelines](coc.md) 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.\n\n# Installing Haskell\n\n## Use Stack to get going with Haskell\n\nGet [Stack](https://haskellstack.org) to get GHC installed and to build your projects.\n\nIf you don't know anything about Stack and would like an overview, check out this [comprehensive Stack video tutorial](https://www.youtube.com/watch?v=sRonIB8ZStw).\n\n## Also, DO NOT INSTALL HASKELL PLATFORM\n\nInstead of following the instructions on Haskell.org, get Stack.\n\n### Why not platform?\n\nhttps://mail.haskell.org/pipermail/haskell-community/2015-September/000014.html\n\n# How should I learn Haskell?\n\nThe 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.\n\n## Haskell Programming from First Principles.\n\n[@dmvianna](https://github.com/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!](https://haskellbook.com) If you can't afford the book for any reasons, please email us using the contact information at [our support page](https://haskellbook.com/support.html).\n\n### Haskell Book subsumes all of the primary resources recommended here\n\n## Yorgey's cis1940 course\n\n\u003e _Do this first_ if aren't getting the Haskell Book, this is the best _free_ introduction to Haskell.\n\nAvailable [online](https://www.seas.upenn.edu/~cis1940/spring13/lectures.html).\n\n[Brent Yorgey](https://byorgey.wordpress.com)'s course is the best I've found so\nfar. This course is valuable as it will not only equip you to write basic\nHaskell but also help you to understand parser combinators.\n\nThe only reason you shouldn't start with cis1940 is if you are not a programmer\nor are an inexperienced one. If that's the case, start with\n[Thompson's book](https://www.haskellcraft.com/craft3e/Home.html) and transition\nto cis1940.\n\n---\n\n## Functional Programming course\n\n\u003e This is the course we recommend doing after Yorgey's cis1940 course\n\nAvailable on github [here](https://github.com/bitemyapp/fp-course).\n\nThis will reinforce and give you experience directly implementing the\nabstractions introduced in cis1940, this is practice which is _critical_ to\nbecoming comfortable with everyday uses of Functor/Applicative/Monad/etc. in\nHaskell. Doing cis1940 and then the FP course represents the core\nrecommendation of my guide and is how we teach everyone Haskell.\n\n---\n\n## Supplementary course after cis1940 and the FP course\n\n\u003e Provides more material on intermediate topics\n\ncs240h is available online:\n\n- [Spring 14](http://www.scs.stanford.edu/14sp-cs240h/)\n- [Winter 16](http://www.scs.stanford.edu/16wi-cs240h/)\n\nThis is [Bryan O'Sullivan](https://github.com/bos)'s online course from the\nclass he teaches at Stanford. If you don't know who he is, take a gander at half\nthe libraries any Haskell application ends up needing and his name is on it. Of\nparticular note if you've already done the Yorgey course are the modules on\nphantom types, information flow control, language extensions, concurrency,\npipes, and lenses.\n\n---\n\n# Resources for specific topics in Haskell\n\nThese resources are not vetted or tested with learners as cis1940 and FP course have been, but they're linked in [the topic listing](specific_topics.md) so you have ideas on where to begin. This includes things like intermediate/advanced concepts and subjects like tooling and text editors.\n\n## Dialogues\n\n\u003e Hosted in this repository [here](dialogues.md).\n\nThese are actually pretty important and helpful. Look here for deep dives on a\nvariety of topics.\n","funding_links":[],"categories":["Programming","Technical","Makefile","Uncategorized","Resources","Haskell","Tutorials"],"sub_categories":["ramanihiteshc@gmail.com","Uncategorized","[Elm](http://elm-lang.org)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitemyapp%2Flearnhaskell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitemyapp%2Flearnhaskell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitemyapp%2Flearnhaskell/lists"}