Здравствуйте, WolfHound, Вы писали:
EP>>Хотелось бы увидеть пример подобной функции apply. Допустим что библиотека реализована — как оно будет выглядеть?
WH>Примерно так:
WH>WH>tempalte apply(f : auto, g : auto, xs : list[auto]) : auto
WH>{
WH> def z = zip(xs, transform(xs, compose(g, g)));
WH> for_each(x in z)
WH> {
WH> f(x);
WH> }
WH>}
WH>
Этот apply можно передать в стороннюю библиотеку (которая будет вызывать её с разными наборами параметров)?
EP>>Это практически такой же сферический конь.
WH>В твоём примере вообще задачи нет. Те совсем. Никакой.
Работа с гетерогенными последовательностями — вполне себе задача, такая же как и работа с гомогенными
EP>>Уже читал, и как я уже писал — Nemerle реально впечатляет
Особенно определение своего синтаксиса для макросов, а также кооперация IDE и строк-DSL'ей.
WH>Ты плохо читал.
"Чепуху говорите, и возмутительнее всего то, что говорите ее безапелляционно и уверенно."
WH>WH>А теперь ДЗЕН вынесенный из этого проекта:
WH>Ближе к концу мы уже не стремились лепить библиотечные навороты и расширять фреймворк, а скорее старались заменять макросами рукопашный код насовсем но локально. Т.е. гораздо проще разработать какую-то феньку нужную в 5 местах и без параметров, и какую-то очень похожую феньку (даже внешне точно такую-же) для 5 других мест, чем лепить универсальную, конфигурируемую через кучу параметров мега-фень, способную покрыть все эти 10 мест и ещё 20 гипотетических похожих.
С этим моментом я как раз и не согласен.
"универсальную, конфигурируемую через кучу параметров мега-фень" — всего лишь означает что не найдена правильная абстракция, либо найдена, но реализация которой не оправданна.
Множество немного отличающихся друг от друга макросов, также плохо как и повторяющийся с небольшими отличиями код.
То что в каком-то конкретном случае с этим boilerplate'ом смирились, не означает с ним нужно мириться всегда. Точно также кто-то мирится с дубликацией и в обычном коде.
WH>Ты тут просишь слепить фреймворк. А он не нужен.
WH>Уж поверь практикам.
Framework я точно не просил. Между framework'ами и библиотеками огромная разница. Framework это скафандр ограничивающий движения, а библиотека это ручной инструмент.
EP>>Полного рабочего кода на Nemerle не было,
WH>А это что?
WH>http://rsdn.ru/forum/philosophy/5342142.1Автор: VladD2
Дата: 24.10.13
Обрезок с мясокомбината.
EP>>точно также как и ответа на сообщение по ссылке
WH>А на что там вообще отвечать то?
То есть "слился" = "не получил ответ, отвечать-то не на что"? M'kay