Spaces:
Sleeping
Sleeping
Commit
·
db2b2a2
1
Parent(s):
6b8214a
Update README and CHANGELOG
Browse files
functional_programming/CHANGELOG.md
CHANGED
|
@@ -7,3 +7,5 @@
|
|
| 7 |
## 2025-03-13
|
| 8 |
|
| 9 |
* `0.1.0` version of notebook `05_functors`
|
|
|
|
|
|
|
|
|
| 7 |
## 2025-03-13
|
| 8 |
|
| 9 |
* `0.1.0` version of notebook `05_functors`
|
| 10 |
+
|
| 11 |
+
Thank [Akshay](https://github.com/akshayka) and [Haleshot](https://github.com/Haleshot) for reviewing
|
functional_programming/README.md
CHANGED
|
@@ -6,7 +6,7 @@ This series of marimo notebooks introduces the powerful paradigm of functional p
|
|
| 6 |
|
| 7 |
## What You'll Learn
|
| 8 |
|
| 9 |
-
Using only Python's standard library
|
| 10 |
|
| 11 |
Topics include:
|
| 12 |
- Recursion and higher-order functions
|
|
@@ -16,9 +16,9 @@ Topics include:
|
|
| 16 |
|
| 17 |
## Timeline & Collaboration
|
| 18 |
|
| 19 |
-
I'm currently studying functional programming and Haskell, estimating about 2 months to complete this series. The structure may evolve as the project develops.
|
| 20 |
|
| 21 |
-
If you're interested in collaborating or have questions, please reach out to me on Discord (@eugene.hs).
|
| 22 |
|
| 23 |
**Running notebooks.** To run a notebook locally, use
|
| 24 |
|
|
@@ -44,7 +44,7 @@ to a notebook's URL: [marimo.app/github.com/marimo-team/learn/blob/main/function
|
|
| 44 |
| Higher-Order Functions and Currying | Functions as first-class values, composition patterns, and implementing Haskell-style currying in Python | 🚧 | |
|
| 45 |
| Python's Functional Toolkit: functools, itertools and operator | Leveraging Python's built-in functional programming utilities, advanced iterator operations, and function transformations | 🚧 | |
|
| 46 |
| Recursion and Tail Recursion | Recursive problem solving, implementing tail-call optimization in Python, and trampoline techniques to avoid stack overflow | 🚧 | |
|
| 47 |
-
| Category Theory and Functors | Introduction to categories, morphisms, functor patterns, and implementing the functor interface and practical use cases |
|
| 48 |
| Applicatives and Effectful Programming | Combining independent computations with effects, implementing the applicative interface and practical use cases | 🚧 | |
|
| 49 |
| Kleisli Category and Monads | Understanding monadic computation, composing impure functions, and implementing basic monads | 🚧 | |
|
| 50 |
| Monad Fail, Transformers and Fix | Error handling with MonadFail, combining monads with transformers, and handling recursive structures | 🚧 | |
|
|
@@ -68,14 +68,16 @@ In [this notebook](https://github.com/marimo-team/learn/blob/main/Functional_pro
|
|
| 68 |
|
| 69 |
### References
|
| 70 |
|
| 71 |
-
- [
|
| 72 |
-
- [
|
| 73 |
-
- [
|
| 74 |
-
- [
|
| 75 |
-
- [Haskellwiki.
|
|
|
|
|
|
|
| 76 |
|
| 77 |
**Authors.**
|
| 78 |
|
| 79 |
Thanks to all our notebook authors!
|
| 80 |
|
| 81 |
-
* [
|
|
|
|
| 6 |
|
| 7 |
## What You'll Learn
|
| 8 |
|
| 9 |
+
**Using only Python's standard library**, we'll construct functional programming concepts from first principles.
|
| 10 |
|
| 11 |
Topics include:
|
| 12 |
- Recursion and higher-order functions
|
|
|
|
| 16 |
|
| 17 |
## Timeline & Collaboration
|
| 18 |
|
| 19 |
+
I'm currently studying functional programming and Haskell, estimating about 2 months or even longer to complete this series. The structure may evolve as the project develops.
|
| 20 |
|
| 21 |
+
If you're interested in collaborating or have questions, please reach out to me on Discord (@eugene.hs).
|
| 22 |
|
| 23 |
**Running notebooks.** To run a notebook locally, use
|
| 24 |
|
|
|
|
| 44 |
| Higher-Order Functions and Currying | Functions as first-class values, composition patterns, and implementing Haskell-style currying in Python | 🚧 | |
|
| 45 |
| Python's Functional Toolkit: functools, itertools and operator | Leveraging Python's built-in functional programming utilities, advanced iterator operations, and function transformations | 🚧 | |
|
| 46 |
| Recursion and Tail Recursion | Recursive problem solving, implementing tail-call optimization in Python, and trampoline techniques to avoid stack overflow | 🚧 | |
|
| 47 |
+
| Category Theory and Functors | Introduction to categories, morphisms, functor patterns, and implementing the functor interface and practical use cases | `0.1.0` | |
|
| 48 |
| Applicatives and Effectful Programming | Combining independent computations with effects, implementing the applicative interface and practical use cases | 🚧 | |
|
| 49 |
| Kleisli Category and Monads | Understanding monadic computation, composing impure functions, and implementing basic monads | 🚧 | |
|
| 50 |
| Monad Fail, Transformers and Fix | Error handling with MonadFail, combining monads with transformers, and handling recursive structures | 🚧 | |
|
|
|
|
| 68 |
|
| 69 |
### References
|
| 70 |
|
| 71 |
+
- [The Trivial Monad](http://blog.sigfpe.com/2007/04/trivial-monad.html)
|
| 72 |
+
- [Haskellwiki. Category Theory](https://en.wikibooks.org/wiki/Haskell/Category_theory)
|
| 73 |
+
- [Haskellforall. The Category Design Pattern](https://www.haskellforall.com/2012/08/the-category-design-pattern.html)
|
| 74 |
+
- [Haskellforall. The Functor Design Pattern](https://www.haskellforall.com/2012/09/the-functor-design-pattern.html)
|
| 75 |
+
- [Haskellwiki. Functor](https://wiki.haskell.org/index.php?title=Functor)
|
| 76 |
+
- [Haskellwiki. Typeclassopedia#Functor](https://wiki.haskell.org/index.php?title=Typeclassopedia#Functor)
|
| 77 |
+
- [Haskellwiki. Typeclassopedia#Category](https://wiki.haskell.org/index.php?title=Typeclassopedia#Category)
|
| 78 |
|
| 79 |
**Authors.**
|
| 80 |
|
| 81 |
Thanks to all our notebook authors!
|
| 82 |
|
| 83 |
+
* [métaboulie](https://github.com/metaboulie)
|