[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1249244269643.gif -(15кб, 275x300) Показана уменьшенная копия, оригинал по клику.
15 №2481  

Слоупок на связи. Программач, объясни мне в чём соль функционального программирования. Липсов и хаскелей в глаза не видал.

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

wiki
Это как? Поясни для совсем слоу

>> №2483  

class Class
{
public state = nil
function func(x, y) {
ret (x + y + state)
}
}

obj = new Class
obj.state = 1
obj.func(1, 2)
obj.state = 2
obj.func(1,2)

>> №2515  

>>2481

это если функция обращается к глобальным переменным или имеет внутреннюю память, как статические локальные переменные в Си, например.
в чистом функциональном программировании значение функции определяется только ее аргументами.
но на самом деле смысл не в этом.

>> №2532  

>>2515
Окей, в императивном мы получаем разные результаты из-за того что функция учитывает глобальную переменную, которая не является входным параметром. Что с функциональным? Что луркать-то? Хочу просто пример на пальцах, так сказать.

>> №2538  

>>2532
а с функциональным не получаем разные результаты. что не ясно?

>> №2539  

>>2532
если конкретно на примере хаскеля интересует, то луркать про state монаду, потом если будет очень интересно, то про cont



Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]