epogrebnyak / haskell-intro

Seven classes on Haskell and a follow-up reading list
http://tinyurl.com/haskell-intro
53 stars 6 forks source link


... and a simple, straightforward way to read a CSV file.

Classes

About classes. This is a curated introduction to Haskell by Yuras Shumovich as studied by Evgeniy and Zarak.

We were lucky to have Yuras as a tutor in Haskell for this small course at the end of 2018. Yuras knows 150% of Haskell, but he adjusted instruction according to our prior knowledge (or, rather, ignorance).

Set up GHCi. Set up GHCi Haskell on your computer or use a limited web version as suggested here.

Topic list. Yuras original topic list, a great plan to learn.

Sessions. This repository holds session transcripts class 1-7 closely following the topics list from above.

Reading

Readings about Haskell are quite numerous. Good lists are here and here.

Top picks

  1. The topic list, again.

  2. Google Haskell 101 and 102 has two presentations that talk about Haskell from scratch. Their approach about teaching Functor, Applicative and Monad via fmap, ap, bind is simple and effective.

  3. Prelude module holds basic functions and worth studying on its own. You can can get type declarations of Prelude by typing :browse Prelude in intepreter or check this command output here. Examples of Prelude usage are included in A Tour of the Haskell Prelude.

  4. Bartosz Milewski's 'Category Theory for Programmers' is a great intro to Haskell itself, written in very good technical language and rolled at a very readable pace. It is a top trending repository on Github. Note also this playlist (not related to the book).

Quick introductions

Functional programming terminology

Longer reads

New

Easier

Tougher

Paid content

Study recommendations

Build tools

Specific topics

Type system

Advanced

Motivational

I want to give you a little bit of detail how it is like to be language designer.

Courses

English

Russian

Problem sets

Things to watch

Feedback

Issues for this Github repo: https://github.com/epogrebnyak/haskell-intro/issues

Twitter: https://twitter.com/PogrebnyakE/status/1082306102468005891