Здравствуйте, VladD2, Вы писали:
VD>Ага. Главное чтобы в императивном режиме все было. Ну, чтобы каждый плагин с пол компилятора размером.
Фигня, и в императивном не будет на порядки больше.
E>>В общем, интересный момент в истории
VD>Ага. Люди дошли до конца и поняли, что пришли в тупик. VD>Теперь самое время взят и почитать труды тех кто давно и плодотворно работает с маросами. VD>В принципе решение на поверхности лежит — квазицитирование и паттерн-матчинг. Но боюсь до этого они так и не дойдут и будет как ты говоришь — два Ди.
Ну это у тебя только один вариант, у других людей гораздо больше.
И не понятно каким боком паттерн матчинг к метапрограммированию.
Здравствуйте, FR, Вы писали:
VD>>Ага. Главное чтобы в императивном режиме все было. Ну, чтобы каждый плагин с пол компилятора размером.
FR>Фигня, и в императивном не будет на порядки больше.
Более того, дело даже не в объеме. А в том, что для парсинга какого-нибудь текстового формата (будь то YAML, XML или s-expressions) могут быть готовые D-шные библиотеки (причем не маленькие по объему). И задача состоит в том, что бы при использовании DSL с данным синтаксисом не пришлось эти библиотеки переписывать на compile-time D.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
VladD2 wrote: > C>Расскажи им о Nemerle Заодно может и немерлистам от Александреску > C>достанется. > Боже упаси.
Поздно Я уже написал Александреску письмо с вопросом "смотрел ли он
Немерль", он ответил, что "тщательно не смотрел, но хочет в ближайшем
будущем посмотреть, так как его часто упоминают в рассылке D".
Так что готовьтесь к "Modern Programming in Nemerle"
Здравствуйте, Cyberax, Вы писали:
C>Поздно Я уже написал Александреску письмо с вопросом "смотрел ли он C>Немерль", он ответил, что "тщательно не смотрел, но хочет в ближайшем C>будущем посмотреть, так как его часто упоминают в рассылке D".
Мля, спасибов вам с Хроповым. Боюсь, что через месяцом немерловая конфа превратится в клуб веселых и находчивых.
C>Так что готовьтесь к "Modern Programming in Nemerle"
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Фигня, и в императивном не будет на порядки больше.
FR>И не понятно каким боком паттерн матчинг к метапрограммированию.
Интересно, а с чего бы тебе было это понятно? Ты пытался сделать свою метасистему? Вот я пытался и для меня необходимость патетрн-матчинга очевидна. Паттерн-матчинг решает проблемы поиска и декомпозиции в коде. Без него даже простые задачи превращаются в горы запутанного кода. Есть, правда, алтернатива — движок запросов по АСТ, но это по сути то же самое. В R# был именно движок запросов, только он был не так гладко интергрирован в базовый язык и выполнялся в режиме интерпретации. Оба фактора большие минусы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>Более того, дело даже не в объеме. А в том, что для парсинга какого-нибудь текстового формата (будь то YAML, XML или s-expressions) могут быть готовые D-шные библиотеки (причем не маленькие по объему). И задача состоит в том, что бы при использовании DSL с данным синтаксисом не пришлось эти библиотеки переписывать на compile-time D.
А, ну, тогда конечно. Ждаем Ди-билиотек уровеня Хаскелевского комбинаторного Парсека. Хотя боюсь, ты мой юмор не поймешь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, FR, Вы писали:
FR>>Фигня, и в императивном не будет на порядки больше.
VD>
FR>>И не понятно каким боком паттерн матчинг к метапрограммированию.
VD>Интересно, а с чего бы тебе было это понятно? Ты пытался сделать свою метасистему? Вот я пытался и для меня необходимость патетрн-матчинга очевидна. Паттерн-матчинг решает проблемы поиска и декомпозиции в коде. Без него даже простые задачи превращаются в горы запутанного кода. Есть, правда, алтернатива — движок запросов по АСТ, но это по сути то же самое. В R# был именно движок запросов, только он был не так гладко интергрирован в базовый язык и выполнялся в режиме интерпретации. Оба фактора большие минусы.
не смотрел? Так как раз рассматриваются разные подходы декомпозиции, через визиторы, тайпкейсы, тайпкасты, кейсклассы и экстракторы (по сути паттерн-матчинг в Scala). Интересно было бы узнать насколько паттерн-матчинг Немерле похож на то, что в Скале, и если есть какие-то более интересные фичи Немерле, если они есть.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, FR, Вы писали:
FR>>Фигня, и в императивном не будет на порядки больше.
VD>
Да понятно, тяжелое отравление функциональщиной
FR>>И не понятно каким боком паттерн матчинг к метапрограммированию.
VD>Интересно, а с чего бы тебе было это понятно? Ты пытался сделать свою метасистему? Вот я пытался и для меня необходимость патетрн-матчинга очевидна. Паттерн-матчинг решает проблемы поиска и декомпозиции в коде. Без него даже простые задачи превращаются в горы запутанного кода. Есть, правда, алтернатива — движок запросов по АСТ, но это по сути то же самое. В R# был именно движок запросов, только он был не так гладко интергрирован в базовый язык и выполнялся в режиме интерпретации. Оба фактора большие минусы.
Патерн матчинг как бы он не был удобен никакого отношения к метасистеме не имеет, ее прекрасно можно сделать как с ним так и без него.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, eao197, Вы писали:
E>>Более того, дело даже не в объеме. А в том, что для парсинга какого-нибудь текстового формата (будь то YAML, XML или s-expressions) могут быть готовые D-шные библиотеки (причем не маленькие по объему). И задача состоит в том, что бы при использовании DSL с данным синтаксисом не пришлось эти библиотеки переписывать на compile-time D.
VD>А, ну, тогда конечно. Ждаем Ди-билиотек уровеня Хаскелевского комбинаторного Парсека. Хотя боюсь, ты мой юмор не поймешь.
я его тоже не понял, но есть jparsec и parsec-like библиотека в boost. последняя построена на базе библиотеки ленивых вычислений
не смотрел? Так как раз рассматриваются разные подходы декомпозиции, через визиторы, тайпкейсы, тайпкасты, кейсклассы и экстракторы (по сути паттерн-матчинг в Scala). Интересно было бы узнать насколько паттерн-матчинг Немерле похож на то, что в Скале, и если есть какие-то более интересные фичи Немерле, если они есть.
Паттерн-матчинг в Немерле похож на то что есть в Скале. Скала развивает идею паттерн-мачинага на ООП-типы. В Немерле реализация по проще, но тоже есть мысли на счет универсальной реализации. А вообще весь паттерн-матчинг растет из ML-я. Так что не удивительно, что паттерн-матчинг ОКамла, Хаскеля, Скалы и Немеля похожи. Различаюся только детали.
ЗЫ
Объясни мне зачем ради этих слов был так соверквотить? Должно же быть какое-то увежение к тем кто будет тебя читать?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Да понятно, тяжелое отравление функциональщиной
А я и не знал, что у тебя такие проблемы. Быват. Не расстраивайся.
FR>Патерн матчинг как бы он не был удобен никакого отношения к метасистеме не имеет, ее прекрасно можно сделать как с ним так и без него.
Извини, но это в тебе говорит отсуствие опыта. Я в общем, то уже все сказал. Повторяться не буду. Верь во что хочешь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
FR>>Патерн матчинг как бы он не был удобен никакого отношения к метасистеме не имеет, ее прекрасно можно сделать как с ним так и без него.
VD>Извини, но это в тебе говорит отсуствие опыта. Я в общем, то уже все сказал. Повторяться не буду. Верь во что хочешь.
Понятно, опять пошла неадекватность, ладно разговор прекращаю.
Здравствуйте, FR, Вы писали:
FR>Патерн матчинг как бы он не был удобен никакого отношения к метасистеме не имеет, ее прекрасно можно сделать как с ним так и без него.
Проблема в выделенном. В принципе, да, прямого отношения к метасистеме паттерн матчинг не имеет, но без него прекрасно у тебя ничего не получится. Получится груда запутанного, сложно понимаемого кода, что сделает порог вхождения недосягаемым и вся идея потеряет смысл. Т.е. ПМ сам по себе к метасистеме отношения не имеет, но она без него не живёт.
Если нам не помогут, то мы тоже никого не пощадим.
VD>Паттерн-матчинг в Немерле похож на то что есть в Скале. Скала развивает идею паттерн-мачинага на ООП-типы. В Немерле реализация по проще, но тоже есть мысли на счет универсальной реализации. А вообще весь паттерн-матчинг растет из ML-я. Так что не удивительно, что паттерн-матчинг ОКамла, Хаскеля, Скалы и Немеля похожи. Различаюся только детали.
а у ML — из пролога, хотя и в сильно обрезанном виде
Здравствуйте, BulatZiganshin, Вы писали:
E>>>Более того, дело даже не в объеме. А в том, что для парсинга какого-нибудь текстового формата (будь то YAML, XML или s-expressions) могут быть готовые D-шные библиотеки (причем не маленькие по объему). И задача состоит в том, что бы при использовании DSL с данным синтаксисом не пришлось эти библиотеки переписывать на compile-time D.
VD>>А, ну, тогда конечно. Ждаем Ди-билиотек уровеня Хаскелевского комбинаторного Парсека. Хотя боюсь, ты мой юмор не поймешь.
BZ>я его тоже не понял, но есть jparsec и parsec-like библиотека в boost. последняя построена на базе библиотеки ленивых вычислений
jparsec вообще не видел. Думаю какя-то фигня. boost содержит только Спирит — это построители внешних парсеров. Помочь в создании внутненних DSL он не в силах.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Если они создавались не в рамках одного проекта, то вряд ли могли взаимстовать идеи друг у друга. В те времена Интеренета и привычки делать все ОпенСорсом небыло.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
OCTAGRAM,
OCT>Мда уж. Такое чувство, что разговор о языках сводится к не лучшим их представителям (C, C++, Java, C#) С таким скудным кругозором едва ли до чего полезного можно будет договориться.
OCT>Весь топик пока не прочитал, D только видел, где-то в начале мелькал.
Не читали, но осужаете? Здорово! Однако Вы не останавливайтесь — я вам гарантирую — Вы встретите упоминания о гораздо большем количестве языков. А если глянуть в rsdn.ru/forum/?group=decl, то может оказаться, что людям известны не только C*|Java.
OCT>Топик-то какой? Философия программирования. Уж здесь-то можно не ограничиваться модными mainstream языками, а сравнивать всё как есть.
Нет, Философия программирования — это раздел форума. А топик называется "сложный язык для сложных программ". Можете завести новый топик, если есть что сказать.