CG/PL: first class functions

От: Alexey Naidyonov <CGatePro_at_mx_ru>
Дата: Tue 07 Nov 2006 - 12:05:18 MSK


Владимир, добрый день.

Возможно ли добавить в CG/PL передачу функций в качестве параметров?

В принципе, нужна только поддержка, никаких штатных оптимизированных функций делать не обязательно -- уже потом, по ходу пользования, можно будет дополнительно попросить оптимизированные map/fold/unfold/reduce и т.п.

Конечно, этот механизм всего лишь сахар, но очень полезный сахар, независимо от того, как его называть и как он реализован (first class function -- scheme, python, JS; function object -- Java; function pointer -- C, perl). Привыкнуть им пользоваться очень легко (как ко всему хорошему), а вот его отсутствие дается тяжело -- ломка.

Кроме того, если добавить возможность передавать функцию в событиях, то получится уже не просто сахар, а совершенно убойная фича, которая в некоторых случаях будет упрощать в разы и сам код, и его дальнейшее развитие. Правда, тут возникает сложность -- можно будет попросить задачу под чужим аккаунтом выполнить мой код. Я не вижу в этом большой проблемы, ещё один способ прострелить себе ногу, надо просто думать, когда пишешь. Но, в принципе, можно и ввести ограничение -- код выполнится только под тем же аккаунтом, под которым был создан объект-указатель, сильно эта фича от такого ограничения не проиграет.

SY,
--
Alexey Naidyonov
ITooLabs Получено Tue Nov 07 09:05:20 2006

Этот архив был сгенерирован hypermail 2.1.8 : Tue 07 Nov 2006 - 12:13:07 MSK