LINUX.ORG.RU
Пользуйте поиск по форуму
anonymous
()
неплохо бы еще русский подучить. и использовать поиск.

ocaml, scheme еще. но это не чисто функциональные.

hatefu1_dead
()
Ответ на: комментарий от CrazyPit
>да и схема (но тут это уже имхо придирки)

В схеме есть присваивание, значит уже не чисто функциональный.
seiken ★★★★★
()
Ответ на: комментарий от Begemoth
>Дело не в присваивании, а в наличии побочных эффектов у процедур. Присваивание лишь частный случай.

Значит, императивный язык может не иметь механизма изменения состояния переменных и считаться императивным только из-за того, что позволяет кроме значения ф-ции выполнить какое-либо другое осмысленное действие. Например, ф-ция возвращает какое-то значение и выводит на экран строку. Состояние системы не изменяется после вызова такой ф-ции, она делает одно и то же (при одинаковых параметрах) в независимости от места вызова. Я правильно понял?
seiken ★★★★★
()
Ответ на: комментарий от seiken
ага, такая функция уже не будет обладать свойством referential trancparency два ее вызова нельзя заменить одним (т.к. побочные эффекты будут различаться). Поэтому ML и называют не чисто функциональным языком, в Haskell операции ввода/вывода загнаны в монаду IO, которая позволяет писать на Haskell программы в _императивном_ стиле. В "A Gentle Introduction to Haskell" Haskell называется лучшим императивным языком.
Begemoth ★★★★★
()
Ответ на: комментарий от seiken
Состояние системы изменится, т.к. изменится состояние мира.
Begemoth ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.