Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2012-11-14 11:21:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Подумалось странное:
По поводу:

Что основная идея функциональных языков - искоренение из семантики времени и замена его на частичный порядок, определяемый явными зависимостями по данным


(Читать комментарии) - (Добавить комментарий)


[info]qwerty
2012-11-14 12:21 (ссылка)
Вообще любой язык без переменных обладает этим свойством.

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2012-11-14 13:23 (ссылка)
Не - как минимум еще без исключений и "традиционного IO"

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2012-11-14 13:46 (ссылка)
IO - любой, включая хаскелевский - подразумевает последовательность.

Чем могли бы быть страшны исключения, не очень понятно - никакого времени от них не заводится.

(Ответить) (Уровень выше)


[info]qwerty
2012-11-14 13:57 (ссылка)
Чем все-таки тебе не угодили исключения? Вне зависимости от того, до или после случается отматывание стека, ничего страшного в них не заметно. Ну,выдаваемое значение превращается в пару. Ну, при вызове до отматывания неявным параметром передается множество именованных функций-обработчиков. А время-то где?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2012-11-14 14:01 (ссылка)
Тем что результат вызова функции от двух аргументов становится зависим от порядка вычисления этих аргументов (например если оба параметра выкидывают исключение)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2012-11-14 14:26 (ссылка)
Ну, требуется некоторая синхронизация некоторых вычислений. Можно придумать для этого языковую конструкцию, если ее еще нет. От применения этой конструкции ленивость локально понизится. Последовательности, тем более сколь-либо глобальной, для этого не требуется. Линейность времени обеспечивает синхронизацию, но для синхронизации некоторого числа событий не нужно времени.

(Ответить) (Уровень выше)


[info]qulinxao
2012-11-15 02:16 (ссылка)
т.е все языки логического вывода(и пролог пророк его) - по определению не есть функциональные ( ибо например при переборе с возвратом тоже есть "исключения разматывающие стек" до последней валидной развилки выбора.)?

(Ответить) (Уровень выше)


(Читать комментарии) -