session 2
This commit is contained in:
parent
c09b029e90
commit
0dd25768c8
64
haskell/sessions/16_03/notes.md
Normal file
64
haskell/sessions/16_03/notes.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
## Table
|
||||||
|
| Topic | Description | Confidence |
|
||||||
|
|-------|-------------|------------|
|
||||||
|
| Signatures | Checking whether the expression types are correct | 😐 |
|
||||||
|
| Programming | Writing code to solve an algorithmic problem | 😐 |
|
||||||
|
| Higher order functions | Demonstrate understanding of higher order functions, usually by chaining them | 😊 |
|
||||||
|
| List comprehensions | Demonstrate understanding of list comprehensions | 😊 |
|
||||||
|
| Recursion/infinite lists | Infinitely generating lists, usually by recursion and/or list comprehensions | 😐 |
|
||||||
|
| ADTs | Algebraic Data Types, usually defining a data type and writing functions that operate on it | 😕 |
|
||||||
|
| Proof on lists | Proving properties of functions that operate on lists | 😕 |
|
||||||
|
| Proof on trees/ADTs | Proving properties of functions that operate on trees or ADTs | 😕 |
|
||||||
|
|
||||||
|
```hs
|
||||||
|
expr = (:) . (:)
|
||||||
|
|
||||||
|
(:) :: a -> [a] -> [a]
|
||||||
|
(.) :: (c -> d) -> (b -> c) -> b -> d
|
||||||
|
|
||||||
|
=>
|
||||||
|
|
||||||
|
a -> ([a] -> [a]) = b -> c
|
||||||
|
|
||||||
|
b = a
|
||||||
|
c = [a] -> [a]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
a' -> [a'] -> [a'] = c -> d
|
||||||
|
a -> [a] -> [a] = b -> c
|
||||||
|
|
||||||
|
b = a
|
||||||
|
c = [a] -> [a]
|
||||||
|
|
||||||
|
a' = [a] -> [a]
|
||||||
|
[[a] -> [a]] -> [[a] -> [a]] = d
|
||||||
|
|
||||||
|
|
||||||
|
expr :: b -> d
|
||||||
|
=>
|
||||||
|
expr :: a -> [[a] -> [a]] -> [[a] -> [a]]
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```hs
|
||||||
|
f = \x y -> x (x (x y))
|
||||||
|
```
|
||||||
|
|
||||||
|
Rigorous solution of the above.
|
||||||
|
|
||||||
|
|
||||||
|
## Look into
|
||||||
|
> How does one do the equations?
|
||||||
|
|
||||||
|
> CLI is functional lol
|
||||||
|
|
||||||
|
> Lazy and singly-linked lists
|
||||||
|
|
||||||
|
> Y combinator - ?
|
||||||
|
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
- [course](https://www.cis.upenn.edu/~cis1940/spring15/lectures.html)
|
||||||
|
- [standard list](https://hackage.haskell.org/package/base-4.21.0.0/docs/Data-List.html)
|
Loading…
x
Reference in New Issue
Block a user