Re[10]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 15:13
Оценка:
Здравствуйте, Abyx, Вы писали:

WH>>И как ты множественным наследованием собрался реализовать абстрактный метод?

A>using ITestImpl::Test(); же
И так в каждом классе для десятка методов...
При том, что на немерле можно написать макрос, которому для реализации всего, что надо хватит одного факта наследования от ITest.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Метапрограммисты надоели
От: PM  
Дата: 07.10.14 15:37
Оценка:
Здравствуйте, alex_public, Вы писали:

PM>>Для кросс-платформенного GUI других вариантов нет, так что с Qt приходится мириться.


_>Да ладно... Если говорить о чём-то сравнимом, то как минимум wxWidgets имеет такую же мощь и при этом без сомнительного извращения языка. Если же смотреть не только на такие глобальные фреймворки и не требовать обязательно нативных контролов (кстати, насколько я помню в Qt они и не такие, но хотя бы притворяются), то возникает ещё целая куча вариантов (gtk+/gtkmm, fltk, juce и т.д. и т.п.).


Гм, да, про wxWidgets забыл. И не только один я Сходил на сайт, судя по новостям, wxWidgets даже обновляются. Но вот растут они тоже из начала 90-х и архитектурно от MFC мало отличаются.

Остальные библиотеки настолько экзотика, что даже лень про них искать что-то. Ну вообще, я к счастью уже пару лет как отошел от GUI, так что могу быть некомпетентен.
Re[11]: Метапрограммисты надоели
От: Abyx Россия  
Дата: 07.10.14 15:47
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Abyx, Вы писали:


WH>>>И как ты множественным наследованием собрался реализовать абстрактный метод?

A>>using ITestImpl::Test(); же
WH>И так в каждом классе для десятка методов...
WH>При том, что на немерле можно написать макрос, которому для реализации всего, что надо хватит одного факта наследования от ITest.

круто, только если взять количество людей пишущих на С++, и поделить на количество людей пишущих на Немерле, получится +Inf
In Zen We Trust
Re[9]: Метапрограммисты надоели
От: Evgeny.Panasyuk Россия  
Дата: 07.10.14 15:47
Оценка:
Здравствуйте, WolfHound, Вы писали:

EP>>Если в Nemerle есть что-то готовое на эту тему, то можешь показать. Например, аналог чего-то вот такого:

WH>Готового нет. При желании можно сделать. Но никто это делать не будет, ибо макросы всё равно мощнее.

Хотелось бы увидеть пример подобной функции apply. Допустим что библиотека реализована — как оно будет выглядеть?

WH>Но главная проблема этого примера в том, что он не решает осмысленную задачу.

WH>Осмысленная задача звучит примерно так: Добавить во все методы классов находящихся в заданном пространстве имён логирование.

Это практически такой же сферический конь. Для меня реальная задача — это какой-нибудь прикладной алгоритм, а не сферическое вычисление чисел Фиббоначи через мемоизацию. Хотя для кого-то алгоритмы будут сферическими, а AOP — самый смак. Вопрос терминологический

WH>А вот опыта реального человека, который делал на немерле реальный проект: http://rsdn.ru/forum/nemerle/4812833.1
Автор: hi_octane
Дата: 10.07.12


Уже читал, и как я уже писал — Nemerle реально впечатляет Особенно определение своего синтаксиса для макросов, а также кооперация IDE и строк-DSL'ей.
(Нужен будет .NET — обязательно посмотрю в сторону Nemerle (как минимум потому что C# слишком дубовый). На данный же момент мне важна скорость, кроссплатформенность и некоторые нативные библиотеки)

EP>>"Слился" это означает "оппонент ничего толком не ответил, и не показал хотя бы полный рабочий код
Автор: Evgeny.Panasyuk
Дата: 25.10.13
"?

WH>Именно это ты и сделал.

Полного рабочего кода на Nemerle не было, точно также как и ответа на сообщение по ссылке

WH>и делать далеко идущие выводы.


Какие именно? Ты же сам выше и подтвердил — что для гетерогенных последовательностей в Nemerle ничего готового нет, именно об этом и шла речь в топике.
Отредактировано 07.10.2014 15:54 Evgeny.Panasyuk . Предыдущая версия .
Re[10]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 16:06
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Хотелось бы увидеть пример подобной функции apply. Допустим что библиотека реализована — как оно будет выглядеть?

Примерно так:
tempalte apply(f : auto, g : auto, xs : list[auto]) : auto 
{
    def z = zip(xs, transform(xs, compose(g, g)));
    for_each(x in z)
    {
        f(x);
    }
}


EP>Это практически такой же сферический конь.

В твоём примере вообще задачи нет. Те совсем. Никакой.

EP>Для меня реальная задача — это какой-нибудь прикладной алгоритм,

Для меня тоже. Только у меня всё на макросах.
Размер Nitra.Grammar и Nitra.Compiler можешь посмотреть сам.

EP>Уже читал, и как я уже писал — Nemerle реально впечатляет Особенно определение своего синтаксиса для макросов, а также кооперация IDE и строк-DSL'ей.

Ты плохо читал.

Вторая итерация была сильно позже (2009г) и умели мы гораздо больше, но понимали всё ещё столько же . Ну правильно, макросов же ещё не писали толком. А главное, пока было оплачиваемое время между первой и второй итерациями, — лепили фреймворк. И не то чтобы он оказался совсем не нужен, просто наше представление о программирование было всё ещё сильно искажено призмой C# и даже C++.

А теперь ДЗЕН вынесенный из этого проекта:
Ближе к концу мы уже не стремились лепить библиотечные навороты и расширять фреймворк, а скорее старались заменять макросами рукопашный код насовсем но локально. Т.е. гораздо проще разработать какую-то феньку нужную в 5 местах и без параметров, и какую-то очень похожую феньку (даже внешне точно такую-же) для 5 других мест, чем лепить универсальную, конфигурируемую через кучу параметров мега-фень, способную покрыть все эти 10 мест и ещё 20 гипотетических похожих.

Это ключевые моменты.
Остальное это просто пояснение, почему это именно так.
Ты тут просишь слепить фреймворк. А он не нужен.
Уж поверь практикам.

EP>Полного рабочего кода на Nemerle не было,

А это что?
http://rsdn.ru/forum/philosophy/5342142.1
Автор: VladD2
Дата: 24.10.13


EP>точно также как и ответа на сообщение по ссылке

А на что там вообще отвечать то?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Метапрограммисты надоели
От: Patalog Россия  
Дата: 07.10.14 16:22
Оценка:
Здравствуйте, PM, Вы писали:

[]

PM>Угу, промотав пару мегабайт включенных заголовков.


Дык keep comments же? Ставищ коммент. типа //blah-blah и потом find ...
Почетный кавалер ордена Совка.
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
Re[12]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 17:24
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Этот apply можно передать в стороннюю библиотеку (которая будет вызывать её с разными наборами параметров)?

При условии, что это шаблонная библиотека.
Но в С++ то же самое ограничение.

EP>Работа с гетерогенными последовательностями — вполне себе задача, такая же как и работа с гомогенными

Это не задача. Это в лучшем случае решение.
Как звучит задача, я сказал.

EP>С этим моментом я как раз и не согласен.

В начале проекта hi_octane тоже был не согласен.

EP>"универсальную, конфигурируемую через кучу параметров мега-фень" — всего лишь означает что не найдена правильная абстракция, либо найдена, но реализация которой не оправданна.

Ох... hi_octane по граблям уже попрыгал. Но его ты слушать не хочешь. Ну, продолжай есть кактус.

EP>Framework я точно не просил. Между framework'ами и библиотеками огромная разница. Framework это скафандр ограничивающий движения, а библиотека это ручной инструмент.

Именно его ты и просишь.
Ты просишь шаблоны С++ но на немерле. Их сделать можно. Но это и есть фреймворк.
Например, написать код, который в случае если класс отнаследовн от определенного интерфейса реализовывал бы этот интерфейс, с помощью этого фреймворка ты не сможешь.

EP>>>Полного рабочего кода на Nemerle не было,

WH>>А это что?
WH>>http://rsdn.ru/forum/philosophy/5342142.1
Автор: VladD2
Дата: 24.10.13

EP>Обрезок с мясокомбината.
И чего же в нём не хватает?

EP>>>точно также как и ответа на сообщение по ссылке

WH>>А на что там вообще отвечать то?
EP>То есть "слился" = "не получил ответ, отвечать-то не на что"? M'kay
Слился = не представил решение задачи и развёл тонну демагогии.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[13]: Метапрограммисты надоели
От: Evgeny.Panasyuk Россия  
Дата: 07.10.14 18:12
Оценка:
Здравствуйте, WolfHound, Вы писали:

EP>>Этот apply можно передать в стороннюю библиотеку (которая будет вызывать её с разными наборами параметров)?

WH>При условии, что это шаблонная библиотека.

И сколько вообще шаблонных библиотек на Nemerle?

EP>>Работа с гетерогенными последовательностями — вполне себе задача, такая же как и работа с гомогенными

WH>Это не задача. Это в лучшем случае решение.
WH>Как звучит задача, я сказал.

"Добавить во все методы классов находящихся в заданном пространстве имён логирование" — это точно такое же решение какой-то проблемы.

EP>>"универсальную, конфигурируемую через кучу параметров мега-фень" — всего лишь означает что не найдена правильная абстракция, либо найдена, но реализация которой не оправданна.

WH>Ох... hi_octane по граблям уже попрыгал. Но его ты слушать не хочешь. Ну, продолжай есть кактус.

Со следующим тезисом согласен?
По возможности следует обобщать регулярно дублирующийся код/макро-генерацию в отдельные именованные сущности (и группировать их в библиотеки).

EP>>Framework я точно не просил. Между framework'ами и библиотеками огромная разница. Framework это скафандр ограничивающий движения, а библиотека это ручной инструмент.

WH>Именно его ты и просишь.
WH>Ты просишь шаблоны С++ но на немерле. Их сделать можно. Но это и есть фреймворк.

Шаблоны это только одно из конкретных решений. Подобная задача решается на Python'е без шаблонов.

В сухом остатке — на данный момент в Nemerle нет ни то что библиотеки для гетерогенных последовательностей, а даже и готовых языковых фич для описания её интерфейса (можешь называть это хоть фрейворком — сути это не меняет).

EP>>>>Полного рабочего кода на Nemerle не было,

WH>>>А это что?
WH>>>http://rsdn.ru/forum/philosophy/5342142.1
Автор: VladD2
Дата: 24.10.13

EP>>Обрезок с мясокомбината.
WH>И чего же в нём не хватает?

Как минимум полного рабочего кода, а желательно online demo.

EP>>>>точно также как и ответа на сообщение по ссылке

WH>>>А на что там вообще отвечать то?
EP>>То есть "слился" = "не получил ответ, отвечать-то не на что"? M'kay
WH>Слился = не представил решение задачи и развёл тонну демагогии.

Демагогия это вот это? "Но никто это делать не будет, ибо макросы всё равно мощнее."
Отредактировано 07.10.2014 18:16 Evgeny.Panasyuk . Предыдущая версия .
Re[10]: Метапрограммисты надоели
От: alex_public  
Дата: 07.10.14 19:42
Оценка:
Здравствуйте, slava_phirsov, Вы писали:

_>Ну в стандарте много всякого было — и неоднократно проклятый vector<bool>, и спецификации исключений, и встроенные массивы для облегчения членовредительства ... Что касается optional, то вот (просто например) объясни, зачем в нем определены operator-> и operator* : optional — не указатель, и предназначен не для того совсем, а с ним используется синтаксис указателей. "Похожие вещи должны выглядеть похоже, а разные — по-разному". Это все равно, как если бы в vector были бы определены operator+ (для дублирования push_back) и оператор-- (для дублирования pop_back).


А что не так со встроенными массивами? )

Насчёт optional... Ну всё же это некий контейнер, так что некие аналогии (скажем с xxx_ptr) имеются. )

Кстати, например в D добавление в массив реализуется оператором "=+" — всё вполне удобно. )
Re[14]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 19:45
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>И сколько вообще шаблонных библиотек на Nemerle?

Нисколько. Ибо шаблоны в немерле не нужны.

EP>"Добавить во все методы классов находящихся в заданном пространстве имён логирование" — это точно такое же решение какой-то проблемы.

Нет. Это именно задача.
Именно так будет написано в трекере.
При этом никто в здравом уме не напишет в трекере "обработать гетерогенную последовательность".

EP>Со следующим тезисом согласен?

EP>По возможности следует обобщать регулярно дублирующийся код/макро-генерацию в отдельные именованные сущности (и группировать их в библиотеки).
Я тоже за всё хорошее и против всего плохого.

EP>Шаблоны это только одно из конкретных решений. Подобная задача решается на Python'е без шаблонов.

Динамическая типизация давно реализована. Но что характерно тоже почти никому не нужна.

EP>В сухом остатке — на данный момент в Nemerle нет ни то что библиотеки для гетерогенных последовательностей, а даже и готовых языковых фич для описания её интерфейса (можешь называть это хоть фрейворком — сути это не меняет).

Там просто есть несравнимо более мощная замещающая технология.
И именно из-за этого такой фигнёй в немерле никто не занимается.
О чём я тебе уже несколько сообщений твержу.

EP>Как минимум полного рабочего кода, а желательно online demo.



EP>Демагогия это вот это? "Но никто это делать не будет, ибо макросы всё равно мощнее."

Нет. Это объяснение, почему в немерле никто шаблоны не добавил. Хотя это и возможно.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Метапрограммисты надоели
От: alex_public  
Дата: 07.10.14 19:50
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

_>>Нуу на самом деле не помню каких-то особых претензий там к нему. Основное, что он реализовал отдельную функцию, а не функцию-член. Ну так это в C++ это как раз не проблема поправить, благодаря множественному наследованию.

WH>И как ты множественным наследованием собрался реализовать абстрактный метод?
WH>..

Эээм, какой ещё абстрактный метод? ) У нас была задача добавить в некий класс автоматический метод GetHash(). В варианте на Nemerle это реализовано через добавление атрибута класса. В варианте на D через добавление одной строки в сам класс (mixin), а в варианте на C++ можно реализовать через добавление дополнительного предка у класса. Никаких сомнительных интерфейсов и наследования от них не требуется.

_>>В общем моё мнение тут такое: как только в C++ появится нормальная интроспекция (естественно времени компиляции), то пример Евгения честно можно будет позиционировать как полноценное решение, причём оно возможно будет ещё и самым красивым. Ну а пока...

WH>Нельзя. Плюс я могу придумать ещё миллион задач которые на шаблонах С++ не решить.

Я тоже могу) Но речь то шла про конкретное решение. И я не вижу у него каких-то недостатков, если не считать костыльной реализации интроспекции.
Re[10]: Метапрограммисты надоели
От: alex_public  
Дата: 07.10.14 19:57
Оценка: +1
Здравствуйте, alex_public, Вы писали:

_>Эээм, какой ещё абстрактный метод? ) У нас была задача добавить в некий класс автоматический метод GetHash(). В варианте на Nemerle это реализовано через добавление атрибута класса. В варианте на D через добавление одной строки в сам класс (mixin), а в варианте на C++ можно реализовать через добавление дополнительного предка у класса. Никаких сомнительных интерфейсов и наследования от них не требуется.


Кстати, это я ещё не упомянул самого стандартного для C++ метода для решения подобных вещей — использования макроса. При использование такого способа добавление новой функций-члена будет выглядеть в стиле D: дополнительная строчка в классе (раскрываемая в метод).

В общем варианты на все вкусы, причём код получается покрасивее чем на конкурентах. Единственный минус, как я уже говорил, в реализации интроспекции.
Re[10]: Метапрограммисты надоели
От: alex_public  
Дата: 07.10.14 20:04
Оценка: 1 (1)
Здравствуйте, PM, Вы писали:

PM>Гм, да, про wxWidgets забыл. И не только один я Сходил на сайт, судя по новостям, wxWidgets даже обновляются. Но вот растут они тоже из начала 90-х и архитектурно от MFC мало отличаются.


Да, растёт оттуда, но при этом вполне себе эволюционирует. К примеру обработчики сообщений давно задаются по современному (через функцию connect), а не через таблицу макросов (явное наследие идей MFC). Внутренние строки давно переделаны в std::string и т.д. и т.п. В общем вполне можно пользоваться. И такое развитие (синхронное, с развитием самого языка) является как раз следствием нормальной изначальной архитектуры, без коверканья языка, в отличие от Qt.
Re[10]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 20:28
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Эээм, какой ещё абстрактный метод? )

В .НЕТ GetHeshCode виртуальный метод.

_>Никаких сомнительных интерфейсов и наследования от них не требуется.

Это я тебе просто показал что как только задача чуть меняется так С++ окончательно ласты склеивает.

_>Я тоже могу) Но речь то шла про конкретное решение. И я не вижу у него каких-то недостатков, если не считать костыльной реализации интроспекции.

Конкретное решение не решает поставленную задачу.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 20:28
Оценка:
Здравствуйте, alex_public, Вы писали:

_>В общем варианты на все вкусы, причём код получается покрасивее чем на конкурентах. Единственный минус, как я уже говорил, в реализации интроспекции.

Ну покажи как ты будешь делать генерацию нескольких методов в зависимости от того что уже объявлено в классе.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Метапрограммисты надоели
От: Vain Россия google.ru
Дата: 07.10.14 20:31
Оценка:
Здравствуйте, PM, Вы писали:

PM>>>Наверно иногда да. Но на мой взгляд, препроцессор, как он сейчас есть в С/С++ довольно опасная вещь.

V>>Самая безобидная вещь в с++, можно легко получить результат препроцессинга и понять где ошибся. Очень мощный плюс, где вы ещё такой в с++ найдёте?
PM>Угу, промотав пару мегабайт включенных заголовков. Вам когда-нибудь приходилось вызывать функции типа Sleep, GetMessage из каких-нибудь сторонних библиотек? При компиляции под Windows на ровном месте вываливается ошибка о несоответствии типов аргументов. И по неопытности можно долго ломать голову, глядя на абсолютно корректный вызов, имея #define GetMessage GetMessageW где-то в неявно включенном windows.h
А причём здесь препроцессор? Во-первых, это затея МС — с них и спрос. Во-вторых, делаешь препроцессинг и в месте ошибки смотришь результат — лучше чем ничего вообще. Просто вы не пользовались таким, вот и всего.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[15]: Метапрограммисты надоели
От: Evgeny.Panasyuk Россия  
Дата: 07.10.14 20:52
Оценка:
Здравствуйте, WolfHound, Вы писали:

EP>>И сколько вообще шаблонных библиотек на Nemerle?

WH>Нисколько. Ибо шаблоны в немерле не нужны.

"Гнилые блаб-отмазки и слив"

EP>>Со следующим тезисом согласен?

EP>>По возможности следует обобщать регулярно дублирующийся код/макро-генерацию в отдельные именованные сущности (и группировать их в библиотеки).
WH>Я тоже за всё хорошее и против всего плохого.

И с чем тогда спорил

EP>>"универсальную, конфигурируемую через кучу параметров мега-фень" — всего лишь означает что не найдена правильная абстракция, либо найдена, но реализация которой не оправданна.
WH>Ох... hi_octane по граблям уже попрыгал. Но его ты слушать не хочешь. Ну, продолжай есть кактус.


EP>>В сухом остатке — на данный момент в Nemerle нет ни то что библиотеки для гетерогенных последовательностей, а даже и готовых языковых фич для описания её интерфейса (можешь называть это хоть фрейворком — сути это не меняет).

WH>Там просто есть несравнимо более мощная замещающая технология.
WH>И именно из-за этого такой фигнёй в немерле никто не занимается.
WH>О чём я тебе уже несколько сообщений твержу.

И чем это отличается от моего аргумента?

EP>В разных языках разные подходы. Non-member функция hash_value — это стандартный протокол в C++. И я не вижу никакого смысла использовать функцию член, когда допустим хэш-таблица ожидает non-member, только ради какой-то синтетической задачи.

Даже если бы была простая возможность добавить в класс метод hash — то всё равно на C++ идиомой бы осталась non-member функция hash_value. Точно также как и ты говоришь, что требование использовать шаблоны на Nemerle не соответствует его идиомам
Re[12]: Метапрограммисты надоели
От: alex_public  
Дата: 07.10.14 20:56
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Ну покажи как ты будешь делать генерацию нескольких методов в зависимости от того что уже объявлено в классе.


Нуу ты озвучь конкретную задачку и посмотрим как реализовать. )
Re[16]: Метапрограммисты надоели
От: WolfHound  
Дата: 07.10.14 20:58
Оценка: :)))
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Даже если бы была простая возможность добавить в класс метод hash — то всё равно на C++ идиомой бы осталась non-member функция hash_value. Точно также как и ты говоришь, что требование использовать шаблоны на Nemerle не соответствует его идиомам

GetHeshCode виртуальный. Как ты его собрался делать внешней функцией?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.