File size: 2,303 Bytes
463e388
8b10f04
215d7d0
8b10f04
463e388
6399834
 
 
8b10f04
 
 
6399834
 
8b10f04
 
463e388
6399834
 
 
8b10f04
215d7d0
8b10f04
215d7d0
8b10f04
215d7d0
8b10f04
6399834
 
8b10f04
 
 
 
6399834
f3c65ee
8b10f04
 
215d7d0
 
 
6399834
 
8b10f04
215d7d0
 
 
 
 
8b10f04
215d7d0
 
 
30a81e1
8b10f04
6399834
 
 
 
 
1cf7b32
 
8b10f04
 
 
 
 
6399834
215d7d0
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Learn Functional Programming

_🚧 This collection is a [work in progress](https://github.com/marimo-team/learn/issues/51)._

This series of marimo notebooks introduces the powerful paradigm of functional
programming through Python. Taking inspiration from Haskell and Category
Theory, we'll build a strong foundation in FP concepts that can transform how
you approach software development.

## What You'll Learn

**Using only Python's standard library**, we'll construct functional
programming concepts from first principles.

Topics include:

+ Currying and higher-order functions
+ Functors, Applicatives, and Monads
+ Category theory fundamentals

## Running Notebooks

### Locally

To run a notebook locally, use

```bash 
uvx marimo edit <URL> 
```

For example, run the `Functor` tutorial with

```bash 
uvx marimo edit https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py
```

### On Our Online Playground

You can also open notebooks in our online playground by appending `marimo.app/` to a notebook's URL like:

https://marimo.app/https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py

### On Our Landing Page

Open the notebooks in our landing page page [here](https://marimo-team.github.io/learn/functional_programming/05_functors.html)

## Collaboration

If you're interested in collaborating or have questions, please reach out to me
on Discord (@eugene.hs).

## Description of notebooks

Check [here](https://github.com/marimo-team/learn/issues/51) for current series
structure. 

| Notebook | Title | Key Concepts | Prerequisites |
|----------|-------|--------------|---------------| 
| [05. Functors](https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py) | Category Theory and Functors | Category Theory, Functor, fmap, Bifunctor | Basic Python, Functions | 
| [06. Applicatives](https://github.com/marimo-team/learn/blob/main/functional_programming/06_applicatives.py) | Applicative programming with effects | Applicative Functor, pure, apply, Effectful programming, Alternative | Functors |

**Authors.**

Thanks to all our notebook authors!

- [métaboulie](https://github.com/metaboulie)

**Reviewers.**

Thanks to all our notebook reviews!

- [Haleshot](https://github.com/Haleshot)