On Tue, Jul 17, 2012 at 11:20:44AM +0400, Artem Chuprina wrote: > Иван Лох -> 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 определена так, что каррировать ее надо руками. Но у нее есть свойства, которые позволяют это легко сделать. Ну или functional javascript подгрузить... (http://osteele.com/sources/javascript/functional/) Который со страшными боями, но постепенно пролезает в стандарт. P.S. "О моноидах" есть большая статья "Category Theory in JavaScript" Майка Стея, http://jscategory.wordpress.com/ Он их там лихо лепит. Не без магии, кончено. -- Иван Лох -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120717105400.gf11...@nano.ioffe.rssi.ru