LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

У тебя там с типами бардак

Я с телефона писал :3

Я тут подготовил кусочек кода.

Ну да, я так и думал, что ты ApplicativeDo возьмёшь. Тут как бы без вариантов.

Правда, начинаются лулзы, когда одно значение может зависеть от другого. Например, страна пользователя и формат номера телефона.

Если написать для Validate корректный инстанс монады, то валидатор будет завершаться после первой же ошибки.

Не, не будет. Там всё ещё Applicative пойдёт, если у компилятора нет причин вставить Monad. Сам проверь:

instance Semigroup a => Monad (Validate a) where
  Valid v >>= f = f v
  Invalid e >>= _ = Invalid e
$ ./ado
Right (MkUser {userSex = Male, userWants = Female})
Left ["invalid value: nbaaaq++","invalid value: monkey"]

Исправление hateyoufeel, :

У тебя там с типами бардак

Я с телефона писал :3

Я тут подготовил кусочек кода.

Ну да, я так и думал, что ты ApplicativeDo возьмёшь. Тут как бы без вариантов.

Правда, начинаются лулзы, когда одно значение может зависеть от другого. Например, страна пользователя и формат номера телефона.

Если написать для Validate корректный инстанс монады, то валидатор будет завершаться после первой же ошибки.

Не, не будет. Там всё ещё Applicative пойдёт, если у компилятора нет причин вставить Monad.

Исправление hateyoufeel, :

У тебя там с типами бардак

Я с телефона писал :3

Я тут подготовил кусочек кода.

Ну да, я так и думал, что ты ApplicativeDo возьмёшь. Тут как бы без вариантов.

Правда, начинаются лулзы, когда одно значение может зависеть от другого. Например, страна пользователя и формат номера телефона.

Исправление hateyoufeel, :

У тебя там с типами бардак

Я с телефона писал :3

Я тут подготовил кусочек кода.

Ну да, я так и думал, что ты ApplicativeDo возьмёшь. Тут как бы без вариантов.

Правда, начинаются лулзы, когда одно значение может зависеть от другого. Например, страна пользователя и формат номера телефона. Ну да ладно, ApplicativeDo вроде умеет сам такое разруливать.

Исходная версия hateyoufeel, :

У тебя там с типами бардак

Я с телефона писал :3

Я тут подготовил кусочек кода.

Ну да, я так и думал, что ты ApplicativeDo возьмёшь. Тут как бы без вариантов.