Проблема сохранения контекста при асинхронном программировании в scala
Комментарии (3)
29 мая 2017 в 14:34 (комментарий был изменён)
0↑
↓
Монада Reader, комонада CoReader как раз для таких вещей и были сделаны. А ещё ваша идея мне напомнила имплиситные функции, о которых Одерски распространялся на недавнем Scala Days: https://www.youtube.com/watch? v=Oij5V7LQJsA&list=PLLMLOC3WM2r5Ei2mnSHCD-ZD04AXovttL&index=1Вы пробовали проанализировать уже существующие инструменты и понять, почему они не подходят, и какие изменения нужны?
29 мая 2017 в 15:08
0↑
↓
Про имплиситы:Первое, что может прийти в голову, это передавать контекст через имплиситный аргумент функции.
Но это будет захламлять протокол сервисов.
или я вас не понялМонада Reader, комонада CoReader как раз для таких вещей и были сделаны
Как будут по вашему выглядеть сервисы, если всё вокруг обвешать ридерами?Этот способ позволяет минимизировать различие между кодом с и без контекста.
Честно мне не попадалось на глаза решения подобной проблемы
29 мая 2017 в 15:24 (комментарий был изменён)
0↑
↓
Scala — прекрасный язык! Зачем вы так с ним? Вот решение с чистыми функциями, все что нужно — это понимать HKT и монады.