Size: a a a

Elm Lang сообщество разработчиков

2018 February 21

I

Igor in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Cmd умеет andThen как бы
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Cmd умеет andThen как бы
наврал. Таск умеет чейниться
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
которая возвращяет результат
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Нет. Результат возвращает рантайм
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
ну да
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А моджет и не вернуть. Или вернуть более чем один Msg
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Нет семантики функции
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
type Cmd msg
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
type Cmd msg = Cmd
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Не надо думать о Cmd, как о функциях. С точки зрения API и доки - это просто такой тип данных.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Как там утроено в рантайме, можно посмотреть для интересу. Но не более.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Иначе получится неправильная аналогия
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Потому как "один Cmd -> один Msg" не гарантируется. Т.о. "функция" - слишком узкая трактовка
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
соглашусь с этим
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А Таски исторически сложились и теперь их надо заворачивать в Cmd, чтобы рантайм из принял на выполнение. И тут скорее Task надо выпилить в пользу Cmd, чем наоборот
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Cmd (Result err ok) - вот вам и Task err ok
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
В прочем сейчас сделано хотя бы понятно - Cmd всегда содержит msg, а не произвольный тип (хотя бы по смыслу). А Task представляет собой то, что может "не сработать" и потребует явного преобразования в Msg и успешного результата и фейла
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
таски возвращают результат выполнения операции, а комманды оборачивают этот результат в мессадж, чтобы прокинуть его дальше
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Таски ничего не возвращают
источник