41 lines
1.7 KiB
Markdown
41 lines
1.7 KiB
Markdown
<p align = "center">
|
|
<img src="https://raw.githubusercontent.com/devicons/devicon/master/icons/haskell/haskell-original.svg" alt="Haskell" width="200"/>
|
|
</p>
|
|
|
|
# Introduction
|
|
After miserably failing my Functional Programming exam and some soul searching, I realized that I never really learned Haskell nor did I ever really understand functional programming. So, I decided to learn Haskell properly. This repository will document my journey in learning Haskell.
|
|
|
|
With the help of some friends!
|
|
|
|
This is going to be structured in a different way than my other repositories. I will have a `sessions` folder where I will document my thought process and the things I learned while during my "lessons". Maybe do Haskell notebooks? I don't know yet.
|
|
|
|
This is the larger, more general README, which will house the main takeaways/revelations of the sessions.
|
|
|
|
## ToC
|
|
- [Introduction](#introduction)
|
|
- [ToC](#toc)
|
|
- [Books and resources](#books-and-resources)
|
|
- [13th of March - Introduction](#13th-of-march---introduction)
|
|
|
|
# Books and resources
|
|
- [Haskell Programming from first principles](http://haskellbook.com/)
|
|
- [Learn you a Haskell for great good](http://learnyouahaskell.com/)
|
|
|
|
|
|
## [13th of March - Introduction](sessions/13_03/notes.md)
|
|
|
|
Big question:
|
|
|
|
> Why is the singly-linked list the most common data structure in functional programming?
|
|
|
|
Because it is the simplest recursive data structure. It is a recursive data structure because it is defined in terms of itself. It is a singly-linked list because it has a head and a tail. The head is the first element of the list and the tail is the rest of the list.
|
|
|
|
<p align="center">
|
|
<img src="assets/list.png" alt="lists" width="700"/>
|
|
</p>
|
|
|
|
> But why not a tree?
|
|
|
|
The tree is simply too complex. Linked lists are easy.
|
|
|