Size: a a a

2021 January 15

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
какой смысл писать "вот эти эффекты И ЕЩЁ ЛЮБОЙ ПОЛЬЗОВАТЕЛЬСКИЙ" если вторую часть можно опустить как подразумеваемую?
вроде бы при стирании есть смысл в двух типах выражений - "допустимое множество" и "всё, кроме недопустимого множества"
источник

CD

Constantine Drozdov in rust_offtopic
чё угодно, только не дата рейсы, пожалуйста, я конкурентно дергаю
источник

H

Hirrolot in rust_offtopic
не дергай сильно, а то отвалиться
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Hirrolot
например потому что иммутабельность не подразумевает мутабельность (твой желаемый эффект)
ну скажи как такое можно сделать
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
или вон эффект логгирования факториала
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
зачем либе знать что мы че-то логгируем? Её задача получить реузльтат
источник

H

Hirrolot in rust_offtopic
Αλεχ Zhukovsky
ну скажи как такое можно сделать
trait Factorial<Eff> {
   fn factorial(...) -> Eff<u32>;
}


где Eff — любой эффект. вместо Eff будет Log если мы логгируем
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
зачем либе знать что мы че-то логгируем? Её задача получить реузльтат
потому что коммутация операций "логгируемый факториал" и "логгируемый фибоначчи" сломается
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Hirrolot
trait Factorial<Eff> {
   fn factorial(...) -> Eff<u32>;
}


где Eff — любой эффект. вместо Eff будет Log если мы логгируем
что если мы каждый раз когда в языке пишем trait Factorial { ... } неявно имеем в виду trait Factorial<Eff>?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Constantine Drozdov
потому что коммутация операций "логгируемый факториал" и "логгируемый фибоначчи" сломается
не сломается, любой тест пройдет
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
не сломается, любой тест пройдет
не пройдет, если лог часть теста
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Constantine Drozdov
не пройдет, если лог часть теста
не может быть лог частью теста потому что мы явно сказали что это эмбиент эффект а не часть результата
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
не может быть лог частью теста потому что мы явно сказали что это эмбиент эффект а не часть результата
а, ну ок
есть еще такой вопрос, что с любым эффектом этого типа очень естественно ассоциируется ошибка (не обнаружен логгер)
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Constantine Drozdov
а, ну ок
есть еще такой вопрос, что с любым эффектом этого типа очень естественно ассоциируется ошибка (не обнаружен логгер)
это уже уровень паники
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ничо не сделать
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
это уже уровень паники
ну если тебе совсем плевать на логи - да, конечно
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Constantine Drozdov
ну если тебе совсем плевать на логи - да, конечно
при чем тут плевать? Если сигнатура тебе не разрешает возвращаь ошибку то ты её и не вернешь
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
при чем тут плевать? Если сигнатура тебе не разрешает возвращаь ошибку то ты её и не вернешь
ну подразумевается, что ты не хочешь отражать логгирование в сигнатуре
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
при чем тут плевать? Если сигнатура тебе не разрешает возвращаь ошибку то ты её и не вернешь
в этом случае, вроде, можно записывать эффект как UDP-сообщение внешней сущности
источник

H

Hirrolot in rust_offtopic
Αλεχ Zhukovsky
что если мы каждый раз когда в языке пишем trait Factorial { ... } неявно имеем в виду trait Factorial<Eff>?
а, понял. наверное принимающая сторона не просто так иммутабельность требует
источник