Вопросы с тегом «side-effect»

14
Почему побочные эффекты считаются злыми в функциональном программировании?
Я чувствую, что побочные эффекты - это естественное явление. Но это что-то вроде табу в функциональных языках. Каковы причины? Мой вопрос относится к стилю функционального программирования. Не все языки программирования / парадигмы.

9
Возвращение считается вредным? Может ли код быть функциональным без него?
Хорошо, так что название немного щелкает мышью, но если серьезно, я был на высоте , не проси пинка некоторое время. Мне нравится, как он поощряет использование методов в качестве сообщений в истинно объектно-ориентированном виде. Но у меня есть ноющая проблема, которая гремит в моей голове. Я подозреваю, что хорошо написанный …

7
Как вы называете функцию, когда один и тот же вход всегда будет возвращать один и тот же выход, но также имеет побочные эффекты?
Скажем, у нас есть нормальная чистая функция, такая как function add(a, b) { return a + b } И тогда мы изменим его так, что он имеет побочный эффект function add(a, b) { writeToDatabase(Math.random()) return a + b; } Насколько я знаю, это не считается чистой функцией, потому что я …

5
Асинхронное программирование на функциональных языках
Я в основном программист на C / C ++, а это значит, что большая часть моего опыта связана с процедурными и объектно-ориентированными парадигмами. Однако, как известно многим программистам на C ++, C ++ с годами сместил акцент на стиль функционального esque, завершившийся, наконец, добавлением лямбд и закрытий в C ++ …

3
Разные способы увидеть монаду
Во время изучения Haskell я столкнулся с множеством учебных пособий, в которых пытался объяснить, что такое монады и почему они важны в Haskell. Каждый из них использовал аналогии, чтобы было легче понять смысл. В конце концов, я получил 3 разных взгляда на то, что такое монада: Вид 1: Монада как …

4
Является ли польза от модели моно IO для обработки побочных эффектов чисто академической?
Извините за еще один вопрос о побочных эффектах FP +, но я не смог найти существующий, который вполне ответил на этот вопрос для меня. Мое (ограниченное) понимание функционального программирования заключается в том, что побочные эффекты состояния должны быть минимизированы и отделены от логики без сохранения состояния. Я также понял, что …

5
Почему чтение из памяти не побочный эффект, а чтение из файла?
Что именно делает чтение из памяти процесса чистой операцией? Предположим, я создал массив из 100 целых чисел в глобальной памяти, а затем взял 42-й элемент этого массива. Это не побочный эффект, верно? Так почему же чтение того же массива из 100 целых чисел из файла является побочным эффектом?

2
Интерфейс без побочных эффектов поверх библиотеки с сохранением состояния
В интервью с Джоном Хьюзом, где он говорит об Эрланге и Хаскеле, он может сказать следующее об использовании библиотек с сохранением состояния в Эрланге: Если я хочу использовать библиотеку с состоянием, я обычно строю поверх нее интерфейс без побочных эффектов, чтобы затем безопасно использовать его в остальной части своего кода. …

5
Как создать масштабируемые тесты интеграции без побочных эффектов?
В моем текущем проекте мне трудно найти хорошее решение для создания масштабируемых интеграционных тестов, которые не имеют побочных эффектов. Небольшое уточнение о свободном от побочных эффектов свойстве: в основном это касается базы данных; после завершения тестов в базе данных не должно быть никаких изменений (состояние должно быть сохранено). Возможно, масштабируемость …

3
Происхождение «метод должен возвращать значение или иметь побочные эффекты, но не оба»
Однажды я прочитал, что метод должен иметь возвращаемое значение (и быть ссылочно прозрачным) или иметь побочные эффекты, но не оба. Я не могу найти никаких ссылок на это правило, но хочу узнать больше об этом. Каково происхождение этого совета? Из какого человека или сообщества это возникло? Дополнительный кредит: Какая заявленная …

3
Побочные эффекты, нарушающие ссылочную прозрачность
Функциональное программирование в Scala объясняет влияние побочного эффекта на нарушение прозрачности ссылок: побочный эффект, который подразумевает некоторое нарушение ссылочной прозрачности. Я прочитал часть SICP , в которой обсуждается использование «модели замещения» для оценки программы. Поскольку я примерно понимаю модель замещения с ссылочной прозрачностью (RT), вы можете разложить функцию на ее …

4
Всегда ли у условного побочные эффекты? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я беру курс по промежуточным структурам данных в качестве предварительного условия для поступления …

2
Модульное тестирование побочного эффекта кода
Я начинаю писать код на C ++ для запуска робота, и я не знаю, как включить модульное тестирование, если действительно смогу. Мне предоставили библиотеку, которая позволяет создавать «команды» для робота, которые автоматически планируются и выполняются. Механизм создания этих команд является подкласс команды базового класса они предоставляют, и осуществлять виртуальную void …

2
Куда мы помещаем код «спрашивая мир», когда отделяем вычисления от побочных эффектов?
В соответствии с принципом разделения команд и запросов , а также мышлением в данных и DDD с презентациями Clojure следует отделять побочные эффекты (изменяющие мир) от вычислений и решений, чтобы было легче понять и протестировать обе части. Это оставляет без ответа вопрос: где относительно границы мы должны поставить «спрашивать мир»? …

2
Функциональные языки программирования запрещают побочные эффекты?
Согласно Википедии, функциональные языки программирования , которые являются декларативными, запрещают побочные эффекты. Декларативное программирование в целом пытается минимизировать или устранить побочные эффекты. Также, согласно Википедии, побочный эффект связан с изменениями состояния. Таким образом, функциональные языки программирования в этом смысле фактически исключают побочные эффекты, поскольку не сохраняют состояния. Но, кроме того, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.