Обновить
0

Пользователь

Отправить сообщение

Все эти диаграммы типов и функций прекрасным образом укладываются в систему \lambda^\rightarrowпросто типизированного лямбда-исчисления. Эта система полная, она позволяет успешно решать все задачи программирования.

Ну ведь нет, в просто типизированном лямбда исчислении нельзя формализовать понятие бесконечного цикла т.к. просто нет типа соответствующего такого рода функции, что делает систему не полной по Тьюрингу(если это имелось ввиду).

Мне интересно, а в случае с опциональными полями класса предлагается тоже писать XResult? Меня в принципе смущает, что оригинальный Result не несёт в дженерике тип ошибки(как, например, IO из ZIO), чтобы по сигнатуре можно было понять чего ожидать, а тут ещё и скрывается был ли null результатом выполнения чистой функции или сайд эффекта, т.е. для меня метод возвращающий Result<Option<T>> означает, что метод с сайд эффектом может вернуть значение или отсутствие значения, а ещё ошибку, итого 3 исхода, все из которых видно по сигнатуре, а XResult это скрывает, по итогу на каждый такой метод нужно писать проверку на null, но длиннее т.к. == null заменяется на isInstanceOf NPE и потом ещё и в половине случаев обрабатывать это не как ошибку, а как ожидаемое отсутствие значения.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фулстек разработчик
Старший
От 1 000 000 000 ₽
Git
Linux
SQL
Java
PostgreSQL