Мне нравятся выражения вычислений, но я делаю простые ошибки, такие как забывание ключевого слова return или! на выражениях вроде let! и вернуться !, или я просто забыл написать do !. Это происходит очень часто с государственными монадами, где я, как правило, забываю о состоянии и просто фокусируюсь на монадических операторах, которые я определил.Как лучше поймать недостающую, пусть !, сделать !, вернуться и вернуться! в выражениях вычислений в F #
Я иногда убеждаюсь, что мои монадические операторы возвращают тип «монадного типа» вместо «анонимной» функции. Это помогает отслеживать мою забывчивую типизацию, но на самом деле не идеальна. У кого-нибудь лучшие трюки?
Инкапсуляция состояние внутри типа монады (вместо прохождения вокруг простых функций) является стандартной практикой, отчасти потому, что она позволяет избежать такого рода ошибки. Что вам не нравится в этом подходе? –
Вы правы, я сказал «не идеально», но, возможно, нет другого способа сделать вещи неявно неправильными как можно скорее. Я думаю, что я «вроде», как «голая» функциональная подпись государственной монады. Но обертывание это нормально. Благодарю. – user519985