Size: a a a

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

2020 December 10

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
В Clojure стейт меняют с помощью побочного эффекта как правило
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Denis Krivosheev
Тут вверху писали про проблему тестирования эффектов. У нас тоже такая проблема есть и не особо она решаема, но в некоторых случаях обходимся вот таким решением:
Команды не прозрачны, но при этом экуалити чек работает с ними точно так же как и с любым другим типом. В некоторых случаях можно создать ожидаемую команду и проверить что она равна тому что из апдейта пришло
Ещё бы проверка на равенство не работала, если там внутри просто словарь :)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Denis Krivosheev
Любая мутация это сайд эффект
Любая мутация чего-то за пределами функции
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Sash Osh
это действие, которое происходит во вне, и подрузмевает какое-то небезопасное действие во вне
Безопасность тут ни при чём. Побочный эффект == влияние на окружающий мир (или себя), не являющееся частью возвращаемого функцией значения.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
В Elm концептуально нет побочных эффектов. Потому что Cmd/Sub только возвращаются из функций, средств же выполнить эти отложенные эффекты нет.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Частичность функций — тоже побочный эффект. Этого тоже нет по большей части, если не использовать Debug и не писать зацикленные функции.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Kir
Если вы делаете ReaderT e (StateT Identity s) - это уже стек эффектов
А это уже стек "непобочных" эффектов — все действия закодированы в возвращаемом функцией значении и не исполняются, пока это не решит сделать вызывающая сторона
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
(фух, вроде отпустило, желание бороть неправоту удовлетворено, всем спасибо)
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Доброе утро Алексей 😊
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Доброе %)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Вот, кстати, раз уж мы тут коснулись Reader и прочих монадок, то там-то есть возможность повлиять на "непрозрачное вычисление с эффектом": для Reader можно подменить окружение, поступающее на вход, Writer можно назначить цензора, который предобработает выход, со State вообще позволяет как входное, так и выходное состояние контролировать.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Опять к этой цитате вернуться хочется. Раз нам сказали, что "монадки — это плохо", то где адекватная замена?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
(это риторический вопрос, к ответу не призываю)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Рисую иконки для редактора в редакторе, догфудинг, чо
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Решил пока PNG сделать и в base64 положить прям в код :P
источник

MP

Max P in Elm Lang сообщество разработчиков
Denis Krivosheev
Доброе утро Алексей 😊
блин) поздно пришел. Но хоть расшевилили чатик. Welcome back, Денис 😄
источник

MP

Max P in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Решил пока PNG сделать и в base64 положить прям в код :P
а написание этого редактора - чисто для души пока есть время свободное?
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Max P
блин) поздно пришел. Но хоть расшевилили чатик. Welcome back, Денис 😄
Я вроде не уходил)
источник

MP

Max P in Elm Lang сообщество разработчиков
ну что-то незаметно было)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Max P
а написание этого редактора - чисто для души пока есть время свободное?
конечно
источник