Иван Лох -> [email protected] @ Tue, 17 Jul 2012 01:37:29 +0400:
>> В функциональных языках - чистая. JS, а также Perl, Python etc. - языки >> с _элементами_ функциональной парадигмы. Там функция - не first-class >> entity, и количество возможных операций с нею сильно ограничено. ИЛ> Чем это функция в javascript не first-class объект? Вполне, себе. Как минимум, частичное применение приходится делать наворачиванием еще одной функции сверху. Композицию (до подстановки параметров) - тоже. Она не моноид (я понимаю, что в JS вообще нет этой абстракции), поэтому складывать функции соответственно сложению возвращаемых значений нельзя. Ну, то есть каждый раз закатывать солнце вручную - определить операцию над функциями нельзя (операция над функциями - это на уровень абстракции выше, чем функция, которая может получить функцию в качестве аргумента и в какой-то позе ее позвать). Собственно, всех операций над функцией в JS - только создать ее и применить, передав ей строго все предусмотренные аргументы. Тоже мне, first-class... -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

