Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

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).