Skip to content

Instantly share code, notes, and snippets.

@darkleaf
Last active September 17, 2021 16:10
Show Gist options
  • Save darkleaf/179d5e2f5961357c32f875e38f988932 to your computer and use it in GitHub Desktop.
Save darkleaf/179d5e2f5961357c32f875e38f988932 to your computer and use it in GitHub Desktop.
Вводная про монады, монадическое значение, монадическая функция, композер
примеры монад - Promice, Optional, Completable Future, async/await
Do notation
Вводная про континуации, через исключения.
Вводная про генераторы, без стека, со стеком, показать стейт-машину
project loom
Next, return, throw
Цветные функции.
И речь тут даже не про статическую типизацию, в динамической типизации тоже самое.
Проблема композиции монад в haskell.
Упомянуть про Алгебраические эффекты, Хаскеле это Free monad / Freer monad
Functional core, imperative shell; Clean architecture, Onion architecture, направление зависимостей
Тестирование, saga
Общий код между клиентом и сервером, в случае clj/s, из-за абстрагирования IO
N+1, показать пример. Тут как раз важно, чтобы функции были цветные.
***
Пример во что компилировались герераторы в js, когда не было поддержки.
https://basarat.gitbook.io/typescript/future-javascript/async-await
Про алгебраические эффекты от Дэна Абрамова (redux, react)
https://overreacted.io/algebraic-effects-for-the-rest-of-us/
Цветные функции
http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
Супер доклад про монады и континуации от Рона Пресслера (Project Loom)
Ron Pressler - Pull Push: Please stop polluting our imperative languages with pure concepts-Curry On
https://www.youtube.com/watch?v=449j7oKQVkc
Пример про N+1
https://gist.github.com/darkleaf/da603a1da4ead8d982f9fc9c0bc243e2
@darkleaf
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment