LINUX.ORG.RU

История изменений

Исправление korvin_, (текущая версия) :

По тому определению да, по факту исполнения программы нет. Что важнее определение в вакууме или реальность?

Конечно реальность. Которая совпадает с определением:

glob var state = 0

func with_side_effect(delta) -> {
    state += delta
    return state
}

println(with_side_effect(1)) ; => 1
println(with_side_effect(1)) ; => 2

glob const value = 0

func without_side_effect(delta) -> {
    return value + delta
}

println(without_side_effect(1)) ; => 1
println(without_side_effect(1)) ; => 1

Прочти определение ссылочной прозрачности, если тебе тут непонятна разница.

Исходная версия korvin_, :

По тому определению да, по факту исполнения программы нет. Что важнее определение в вакууме или реальность?

Конечно реальность. Которая совпадает с определением:

glob var state = 0

func with_side_effect(delta) -> {
    state += delta
    return state
}

println(with_side_effect(1)) ; => 1
println(with_side_effect(1)) ; => 2

glob const value = 0

func without_side_effect(delta) -> {
    return value + delta
}

println(without_side_effect()) ; => 1
println(without_side_effect()) ; => 1

Прочти определение ссылочной прозрачности, если тебе тут непонятна разница.