Simple wrote:Ваще-то должно быть наоборот. Функция ж всегда возвращает одно и то же значение.
вообще-то, почти все прижившиеся функциональные языки разрешают тем или инным образом side-effects, подчеркивается, что это не хорошо, но разрешается, для "связи с реальностью".
есть, однако, функциональные языки, которые упёрлись тут рогом -- функция, а значит не разрешаются side-effects. Как живут в таком мире? -- можешь почитать про монады и, например, на имплементацию языка Clean посмотреть. Впрочем, у всяких там телекомов есть и более другие языки