All streams
Search
Write a publication
Pull to refresh
1
0
Send message

вы правы

До тех пор пока не придется написать связный список.

Вы пробовали писать именно приложения на haskell и zio/effect-ts? Если нет, то возможно вы не совсем понимаете концепцию продуктивной системы эффектов.

Основополагающим для неё является вывод возвращаемого типа эффекта параметризованного всеми задействованными в do-нотации ошибками и зависимостями, которого в haskell нет (буду рад узнать что есть какое-то расширения языка которое я упустил).

Два факта позволяют получить заметное улучшение опыта разработки за счёт использования эффектов: возможность посмотреть выведенный тайпхинт в котором на виду пояснены все ошибки и зависимости (а не скрыты за каким-то номинальным типом), и возможность не писать самому этих тайпхинтов повсюду.

Я и мои коллеги приняли решение что эта возможность видеть ошибки и зависимости в типах стоит каждой строчки необходимого бойлерплейта.

Стоит еще добавить что помимо безопасности, система эффектов как и любая монада/монадтрансформер добавляет целый мета-уровень в исполнение программы. Что позволяет например получать практически бесплатные трассировки запросов которые показывают каждую вызванную функцию и все тайминги. В ZIO вообще без единой строчки кода (за счет имплиситов scala), в Effect-ts нужно оборачивать объявленные функции в Effect.fn (с чем тоже можно смириться, если посмотреть на другие решения для трейсинга в экосистеме ts и сравнить)

Information

Rating
Does not participate
Registered
Activity

Specialization

Fullstack Developer, Game Developer