metaboulie commited on
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
- - Recursion and higher-order functions
 
19
  - Category theory fundamentals
20
- - Functors, applicatives, and monads
21
- - Composable abstractions for robust code
22
 
23
- ## Timeline & Collaboration
24
 
25
- I'm currently studying functional programming and Haskell, estimating about 2
26
- months or even longer to complete this series. The structure may evolve as the
27
- project develops.
28
 
29
- If you're interested in collaborating or have questions, please reach out to me
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
- You can also open notebooks in our online playground by appending `marimo.app/`
45
- to a notebook's URL:
 
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
- # Description of notebooks
 
 
 
 
49
 
50
- Check [here](https://github.com/marimo-team/learn/issues/51) for current series
51
- structure.
 
 
52
 
53
- | Notebook | Description | References |
54
- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
55
- | [05. Category and Functors](https://github.com/marimo-team/learn/blob/main/functional_programming/05_functors.py) | 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. | - [The Trivial Monad](http://blog.sigfpe.com/2007/04/trivial-monad.html) <br> - [Haskellwiki. Category Theory](https://en.wikibooks.org/wiki/Haskell/Category_theory) <br> - [Haskellforall. The Category Design Pattern](https://www.haskellforall.com/2012/08/the-category-design-pattern.html) <br> - [Haskellforall. The Functor Design Pattern](https://www.haskellforall.com/2012/09/the-functor-design-pattern.html) <br> - [Haskellwiki. Functor](https://wiki.haskell.org/index.php?title=Functor) <br> - [Haskellwiki. Typeclassopedia#Functor](https://wiki.haskell.org/index.php?title=Typeclassopedia#Functor) <br> - [Haskellwiki. Typeclassopedia#Category](https://wiki.haskell.org/index.php?title=Typeclassopedia#Category) |
 
 
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)