Re[11]: Метапрограммисты надоели
От: Evgeny.Panasyuk Россия  
Дата: 07.10.14 16:42
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.