[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Несколько вопросов вразброс



Иван Лох -> debian-russian@lists.debian.org  @ Tue, 17 Jul 2012 01:37:29 +0400:

 >> В функциональных языках - чистая.  JS, а также Perl, Python etc. - языки
 >> с _элементами_ функциональной парадигмы.  Там функция - не first-class
 >> entity, и количество возможных операций с нею сильно ограничено.

 ИЛ> Чем это функция в javascript не first-class объект? Вполне, себе.  

Как минимум, частичное применение приходится делать наворачиванием еще
одной функции сверху.  Композицию (до подстановки параметров) - тоже.
Она не моноид (я понимаю, что в JS вообще нет этой абстракции), поэтому
складывать функции соответственно сложению возвращаемых значений нельзя.
Ну, то есть каждый раз закатывать солнце вручную - определить операцию
над функциями нельзя (операция над функциями - это на уровень абстракции
выше, чем функция, которая может получить функцию в качестве аргумента и
в какой-то позе ее позвать).  Собственно, всех операций над функцией в
JS - только создать ее и применить, передав ей строго все
предусмотренные аргументы.  Тоже мне, first-class...


Reply to: