Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/YBogomolov/monadic-mondays
Code samples for #monadicmonday topics
https://github.com/YBogomolov/monadic-mondays
category-theory fp functional-programming monadic-monday typescript
Last synced: 4 days ago
JSON representation
Code samples for #monadicmonday topics
- Host: GitHub
- URL: https://github.com/YBogomolov/monadic-mondays
- Owner: YBogomolov
- License: mit
- Archived: true
- Created: 2019-04-30T06:49:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-11T14:59:53.000Z (about 4 years ago)
- Last Synced: 2024-08-01T23:31:59.287Z (3 months ago)
- Topics: category-theory, fp, functional-programming, monadic-monday, typescript
- Language: TypeScript
- Size: 266 KB
- Stars: 88
- Watchers: 7
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fp-ts - YBogomolov/monadic-mondays
README
# Monadic Mondays
This repository contains code samples for [#monadicmonday](https://twitter.com/hashtag/monadicmonday) topics.
You can also find monthly compilations [on Medium](https://medium.com/tag/monadicmonday/archive) and [on Dev.to](https://dev.to/t/monadicmonday).
## How to run
To run the examples, you'll need to install all dependencies by issuing `npm ci` command. After that you can run code for each episode using `npm run epN`, where `N ∈ [1, 13]`.
### Extra bits
1. `npm run ep5:test` – run tests for Tagless Final
2. `npm run ep8:stack-fail` – run a naïve stack-unsafe Free monad evaluation
3. `npm run ep8:stack` - run a stack-safe trampolined Free monad evaluation
4. `npm run ep9:dtslint` – run a DTSLint for type-level tests## Published episodes
1. [Episode 1: These/Ior](https://twitter.com/YuriyBogomolov/status/1112712151062458370)
2. [Episode 2: Rings](https://twitter.com/YuriyBogomolov/status/1115202088080953346)
3. [Episode 3: Recursion schemes](https://twitter.com/YuriyBogomolov/status/1117723946005213185)
4. [Episode 4: Either, Validation & RemoteData](https://twitter.com/YuriyBogomolov/status/1120345997509648386)
5. [Episode 5: Tagless Final](https://twitter.com/YuriyBogomolov/status/1122892243596140545)
6. [Episode 6: ZIO in TypeScript](https://twitter.com/YuriyBogomolov/status/1125403292530507776)
7. [Episode 7: Functional optics](https://twitter.com/YuriyBogomolov/status/1127887720431390721)
8. [Episode 8: Free monads](https://twitter.com/YuriyBogomolov/status/1130415558556565504)
9. [Episode 9: Type-level programming](https://twitter.com/YuriyBogomolov/status/1132965709275963393)
10. [Episode 10: Reasons to choose FP](https://twitter.com/YuriyBogomolov/status/1135540508590268418) (no code)
11. [Episode 11: Kleisli arrows](https://twitter.com/YuriyBogomolov/status/1140569042299867136)
12. [Episode 12: Futures](https://twitter.com/YuriyBogomolov/status/1145705040327467011)
13. [Episode 13: Property-based testing](https://twitter.com/YuriyBogomolov/status/1148153780443189248)
14. [Episode 14: Final words](https://twitter.com/YuriyBogomolov/status/1150654389092311040) (no code)
15. [Episode spontaneous: session types](https://twitter.com/YuriyBogomolov/status/1178697351822794753)## Compilations
- April: [Dev.to](https://dev.to/ybogomolov/monadicmonday-compilation-april-pjo), [Medium](https://link.medium.com/GYuOlzTzfW)
- May: [Dev.to](https://dev.to/ybogomolov/monadicmonday-compilation-may-5d3c), [Medium](https://medium.com/@yuriybogomolov/monadicmonday-compilation-may-57d27f771a3a)
- June: [Dev.to](https://dev.to/ybogomolov/monadicmonday-compilation-june-143h)
- July: [Dev.to](https://dev.to/ybogomolov/monadicmonday-compilation-july-4pal)## Contacts
If you have any questions, please ping me back at [@ybogomolov](https://t.me/ybogomolov) in Telegram, [@YuriyBogomolov](https://twitter.com/YuriyBogomolov) in Twitter or via [[email protected]](mailto:[email protected]?subject=Monadic%20Monday%20feedback).