От кого вы слышали это, скорее всего, ссылался на тот факт, что «Запрещение побочных эффектов обеспечивает прозрачность ссылок, что упрощает проверку, оптимизацию и распараллеливание программ и упрощает написание автоматических инструментов». выполнить эти задачи. "
Другими словами, функциональные программы, как правило, не имеют побочных эффектов (изменение глобального состояния), поэтому одновременное выполнение многих экземпляров функциональной программы должно давать одинаковый результат. Например, рассмотрим разницу между
int a;
void increment_a() {
a++;
}
и
int increment(int a) {
return a+1;
}
Второй не имеет побочных эффектов и может выполняться параллельно, если вы структурируете свой код так, чтобы вы предоставили все необходимые входные данные.