Spaces:
Running
Running
Commit
·
215d7d0
1
Parent(s):
9509a36
docs(readme): updating README.md for fp course
Browse files
functional_programming/06_applicatives.py
CHANGED
@@ -35,6 +35,7 @@ def _(mo):
|
|
35 |
type: info
|
36 |
|
37 |
version: 0.1.2 | last modified: 2025-04-07 | author: [métaboulie](https://github.com/metaboulie)<br/>
|
|
|
38 |
|
39 |
///
|
40 |
"""
|
|
|
35 |
type: info
|
36 |
|
37 |
version: 0.1.2 | last modified: 2025-04-07 | author: [métaboulie](https://github.com/metaboulie)<br/>
|
38 |
+
reviewer: [Haleshot](https://github.com/Haleshot)
|
39 |
|
40 |
///
|
41 |
"""
|
functional_programming/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
# Learn Functional Programming
|
2 |
|
3 |
-
_🚧 This collection is a
|
4 |
-
[work in progress](https://github.com/marimo-team/learn/issues/51)._
|
5 |
|
6 |
This series of marimo notebooks introduces the powerful paradigm of functional
|
7 |
programming through Python. Taking inspiration from Haskell and Category Theory,
|
@@ -15,21 +14,15 @@ concepts from first principles.
|
|
15 |
|
16 |
Topics include:
|
17 |
|
18 |
-
-
|
|
|
19 |
- Category theory fundamentals
|
20 |
-
- Functors, applicatives, and monads
|
21 |
-
- Composable abstractions for robust code
|
22 |
|
23 |
-
##
|
24 |
|
25 |
-
|
26 |
-
months or even longer to complete this series. The structure may evolve as the
|
27 |
-
project develops.
|
28 |
|
29 |
-
|
30 |
-
on Discord (@eugene.hs).
|
31 |
-
|
32 |
-
**Running notebooks.** To run a notebook locally, use
|
33 |
|
34 |
```bash
|
35 |
uvx marimo edit <URL>
|
@@ -41,21 +34,36 @@ For example, run the `Functor` tutorial with
|
|
41 |
uvx marimo edit https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py
|
42 |
```
|
43 |
|
44 |
-
|
45 |
-
|
|
|
46 |
[marimo.app/github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py](https://marimo.app/https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py).
|
47 |
|
48 |
-
|
|
|
|
|
|
|
|
|
49 |
|
50 |
-
|
51 |
-
|
|
|
|
|
52 |
|
53 |
-
|
54 |
-
|
|
55 |
-
|
|
|
|
|
56 |
|
57 |
**Authors.**
|
58 |
|
59 |
Thanks to all our notebook authors!
|
60 |
|
61 |
- [métaboulie](https://github.com/metaboulie)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
# Learn Functional Programming
|
2 |
|
3 |
+
_🚧 This collection is a [work in progress](https://github.com/marimo-team/learn/issues/51)._
|
|
|
4 |
|
5 |
This series of marimo notebooks introduces the powerful paradigm of functional
|
6 |
programming through Python. Taking inspiration from Haskell and Category Theory,
|
|
|
14 |
|
15 |
Topics include:
|
16 |
|
17 |
+
- Currying and higher-order functions
|
18 |
+
- Functors, Applicatives, and Monads
|
19 |
- Category theory fundamentals
|
|
|
|
|
20 |
|
21 |
+
## Running Notebooks
|
22 |
|
23 |
+
### Locally
|
|
|
|
|
24 |
|
25 |
+
To run a notebook locally, use
|
|
|
|
|
|
|
26 |
|
27 |
```bash
|
28 |
uvx marimo edit <URL>
|
|
|
34 |
uvx marimo edit https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py
|
35 |
```
|
36 |
|
37 |
+
### On Our Online Playground
|
38 |
+
|
39 |
+
You can also open notebooks in our online playground by appending `marimo.app/` to a notebook's URL like:
|
40 |
[marimo.app/github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py](https://marimo.app/https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py).
|
41 |
|
42 |
+
### On Our Landing Page
|
43 |
+
|
44 |
+
Open the notebooks in our landing page page [here](https://marimo-team.github.io/learn/functional_programming/05_functors.html)
|
45 |
+
|
46 |
+
## Collaboration
|
47 |
|
48 |
+
If you're interested in collaborating or have questions, please reach out to me
|
49 |
+
on Discord (@eugene.hs).
|
50 |
+
|
51 |
+
# Description of notebooks
|
52 |
|
53 |
+
Check [here](https://github.com/marimo-team/learn/issues/51) for current series structure.
|
54 |
+
| Notebook | Title | Description | Key Concepts | Prerequisites |
|
55 |
+
|----------|-------|-------------|--------------|---------------|
|
56 |
+
| [05. Functors](https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py) | Category and Functors | Learn why `len` is a _Functor_ from `list concatenation` to `integer addition`, how to _lift_ an ordinary function into a _computation context_, and how to write an _adapter_ between two categories. | Categories, Functors, Function lifting, Context mapping | Basic Python, Functions |
|
57 |
+
| [06. Applicatives](https://github.com/marimo-team/learn/blob/main/functional_programming/06_applicatives.py) | Applicative programming with effects | Learn how to apply functions within a context, combining multiple effects in a pure way. Learn about the `pure` and `apply` operations that make applicatives powerful for handling multiple computations. | Applicative Functors, Pure, Apply, Effectful programming | Functors |
|
58 |
|
59 |
**Authors.**
|
60 |
|
61 |
Thanks to all our notebook authors!
|
62 |
|
63 |
- [métaboulie](https://github.com/metaboulie)
|
64 |
+
|
65 |
+
**Reviewers.**
|
66 |
+
|
67 |
+
Thanks to all our notebook reviews!
|
68 |
+
|
69 |
+
- [Haleshot](https://github.com/Haleshot)
|