Проблема сохранения контекста при асинхронном программировании в 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 и монады.

© Habrahabr.ru