|
| 1 | +# Learn You a Haskell for Great Good! |
| 2 | + |
| 3 | +1. [Introduction](introduction.html) |
| 4 | + * [About this tutorial](introduction.html#about-this-tutorial) |
| 5 | + * [So what's Haskell?](introduction.html#so-whats-haskell) |
| 6 | + * [What you need to dive in](introduction.html#what-you-need) |
| 7 | +2. [Starting Out](starting-out.html) |
| 8 | + * [Ready, set, go!](starting-out.html#ready-set-go) |
| 9 | + * [Baby's first functions](starting-out.html#babys-first-functions) |
| 10 | + * [An intro to lists](starting-out.html#an-intro-to-lists) |
| 11 | + * [Texas ranges](starting-out.html#texas-ranges) |
| 12 | + * [I'm a list comprehension](starting-out.html#im-a-list-comprehension) |
| 13 | + * [Tuples](starting-out.html#tuples) |
| 14 | +3. [Types and Typeclasses](types-and-typeclasses.html) |
| 15 | + * [Believe the type](types-and-typeclasses.html#believe-the-type) |
| 16 | + * [Type variables](types-and-typeclasses.html#type-variables) |
| 17 | + * [Typeclasses 101](types-and-typeclasses.html#typeclasses-101) |
| 18 | +4. [Syntax in Functions](syntax-in-functions.html) |
| 19 | + * [Pattern matching](syntax-in-functions.html#pattern-matching) |
| 20 | + * [Guards, guards!](syntax-in-functions.html#guards-guards) |
| 21 | + * [Where!?](syntax-in-functions.html#where) |
| 22 | + * [Let it be](syntax-in-functions.html#let-it-be) |
| 23 | + * [Case expressions](syntax-in-functions.html#case-expressions) |
| 24 | +5. [Recursion](recursion.html) |
| 25 | + * [Hello recursion!](recursion.html#hello-recursion) |
| 26 | + * [Maximum awesome](recursion.html#maximum-awesome) |
| 27 | + * [A few more recursive functions](recursion.html#a-few-more-recursive-functions) |
| 28 | + * [Quick, sort!](recursion.html#quick-sort) |
| 29 | + * [Thinking recursively](recursion.html#thinking-recursively) |
| 30 | +6. [Higher Order Functions](higher-order-functions.html) |
| 31 | + * [Curried functions](higher-order-functions.html#curried-functions) |
| 32 | + * [Some higher-orderism is in order](higher-order-functions.html#higher-orderism) |
| 33 | + * [Maps and filters](higher-order-functions.html#maps-and-filters) |
| 34 | + * [Lambdas](higher-order-functions.html#lambdas) |
| 35 | + * [Only folds and horses](higher-order-functions.html#folds) |
| 36 | + * [Function application with $](higher-order-functions.html#function-application) |
| 37 | + * [Function composition](higher-order-functions.html#composition) |
| 38 | +7. [Modules](modules.html) |
| 39 | + * [Loading modules](modules.html#loading-modules) |
| 40 | + * [Data.List](modules.html#data-list) |
| 41 | + * [Data.Char](modules.html#data-char) |
| 42 | + * [Data.Map](modules.html#data-map) |
| 43 | + * [Data.Set](modules.html#data-set) |
| 44 | + * [Making our own modules](modules.html#making-our-own-modules) |
| 45 | +8. [Making Our Own Types and Typeclasses](making-our-own-types-and-typeclasses.html) |
| 46 | + * [Algebraic data types intro](making-our-own-types-and-typeclasses.html#algebraic-data-types) |
| 47 | + * [Record syntax](making-our-own-types-and-typeclasses.html#record-syntax) |
| 48 | + * [Type parameters](making-our-own-types-and-typeclasses.html#type-parameters) |
| 49 | + * [Derived instances](making-our-own-types-and-typeclasses.html#derived-instances) |
| 50 | + * [Type synonyms](making-our-own-types-and-typeclasses.html#type-synonyms) |
| 51 | + * [Recursive data structures](making-our-own-types-and-typeclasses.html#recursive-data-structures) |
| 52 | + * [Typeclasses 102](making-our-own-types-and-typeclasses.html#typeclasses-102) |
| 53 | + * [A yes-no typeclass](making-our-own-types-and-typeclasses.html#a-yes-no-typeclass) |
| 54 | + * [The Functor typeclass](making-our-own-types-and-typeclasses.html#the-functor-typeclass) |
| 55 | + * [Kinds and some type-foo](making-our-own-types-and-typeclasses.html#kinds-and-some-type-foo) |
| 56 | +9. [Input and Output](input-and-output.html) |
| 57 | + * [Hello, world!](input-and-output.html#hello-world) |
| 58 | + * [Files and streams](input-and-output.html#files-and-streams) |
| 59 | + * [Command line arguments](input-and-output.html#command-line-arguments) |
| 60 | + * [Randomness](input-and-output.html#randomness) |
| 61 | + * [Bytestrings](input-and-output.html#bytestrings) |
| 62 | + * [Exceptions](input-and-output.html#exceptions) |
| 63 | +10. [Functionally Solving Problems](functionally-solving-problems.html) |
| 64 | + * [Reverse Polish notation calculator](functionally-solving-problems.html#reverse-polish-notation-calculator) |
| 65 | + * [Heathrow to London](functionally-solving-problems.html#heathrow-to-london) |
| 66 | +11. [Functors, Applicative Functors and Monoids](functors-applicative-functors-and-monoids.html) |
| 67 | + * [Functors redux](functors-applicative-functors-and-monoids.html#functors-redux) |
| 68 | + * [Applicative functors](functors-applicative-functors-and-monoids.html#applicative-functors) |
| 69 | + * [The newtype keyword](functors-applicative-functors-and-monoids.html#the-newtype-keyword) |
| 70 | + * [Monoids](functors-applicative-functors-and-monoids.html#monoids) |
| 71 | +12. [A Fistful of Monads](a-fistful-of-monads.html) |
| 72 | + * [Getting our feet wet with Maybe](a-fistful-of-monads.html#getting-our-feet-wet-with-maybe) |
| 73 | + * [The Monad type class](a-fistful-of-monads.html#the-monad-type-class) |
| 74 | + * [Walk the line](a-fistful-of-monads.html#walk-the-line) |
| 75 | + * [do notation](a-fistful-of-monads.html#do-notation) |
| 76 | + * [The list monad](a-fistful-of-monads.html#the-list-monad) |
| 77 | + * [Monad laws](a-fistful-of-monads.html#monad-laws) |
| 78 | +13. [For a Few Monads More](for-a-few-monads-more.html) |
| 79 | + * [Writer? I hardly know her!](for-a-few-monads-more.html#writer) |
| 80 | + * [Reader? Ugh, not this joke again.](for-a-few-monads-more.html#reader) |
| 81 | + * [Tasteful stateful computations](for-a-few-monads-more.html#state) |
| 82 | + * [Error error on the wall](for-a-few-monads-more.html#error) |
| 83 | + * [Some useful monadic functions](for-a-few-monads-more.html#useful-monadic-functions) |
| 84 | + * [Making monads](for-a-few-monads-more.html#making-monads) |
| 85 | +14. [Zippers](zippers.html) |
| 86 | + * [Taking a walk](zippers.html#taking-a-walk) |
| 87 | + * [A trail of breadcrumbs](zippers.html#a-trail-of-breadcrumbs) |
| 88 | + * [Focusing on lists](zippers.html#focusing-on-lists) |
| 89 | + * [A very simple file system](zippers.html#a-very-simple-file-system) |
| 90 | + * [Watch your step](zippers.html#watch-your-step) |
0 commit comments