Logging: UserDatabase:
ProfileDatabase: RedisCache:
GeoIPService: AuthService:
SessionManager: Localization:
Config: EventQueue: Concurrent:
Async: MetricsManager]: F[Feed] = ???
ого и монад и дь в одну линию. хз. может потому что вы не используете абстракции из тофу?
Потому что это не TF?
Автор редко рефакторит, и плохо задизайнил набор взаимозависимостей языков
Очевидно, что если ты строишь выражение, в котором используется 50 фич из разных частей программы - это плохо. ТФ в данном случае блестяще вытащил эту проблему на поверхность. В случае традиционного подхода, у тебя бы оставалась куча функций, которые зависят от половины твоего приложения и как раз не позволяют его эффективно рефакторить, либо добавлять фичи, т.к. добавление возможно только после очень тяжёлого рефакторинга
мало того, нужно посмотреть, что будет, если убрать Async, скорее всего список будет ещё длинеее, и это причина, почему нужно убирать Async
Обсуждают сегодня