Побочные эффекты (side effects) - любые действия работающей программы, изменяющие среду выполнения (execution environment). Например, к побочным эффектам относятся:

  • изменение (запись) объекта;
  • изменение файла;
  • вызов функции, выполняющей любое из перечисленных выше действий;

Побочный эффект функции - возможность в процессе выполнения своих вычислений: читать и модифицировать значения глобальных переменных, осуществлять операции ввода-вывода, реагировать на исключительные ситуации, вызывать их обработчики. Если вызвать функцию с побочным эффектом дважды с одним и тем же набором значений входных аргументов, может случиться так, что в качестве результата будут возвращены разные значения. Такие функции называются недетерминированными функциями с побочными эффектами.