Re[15]: Являются ли макросы свидетельством недостаточной выр
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 12.07.07 12:44
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Входной язык бизона есть именно тот самый микс из синтаксическиъ метаопредений близких к Backus и Naur нотации *плюс* определения хост языка С или С++. Собственноо примерно то же что их себя представляет входной язык Nemerle.


Это, у меня BNF отдельно, код — отдельно. Код в грамматике ен прописывается, т.к., ИМХО, это криво.

CS>"как тоже самое" — что конкретно то же саме? Bison на Nemerle?

CS>А зачем?

Нет, не Bison. Надо посмотреть ниже по ветке. Там представлен генератор лексера, написанный на макросах. Т.е. мы прописываем грамматику прямо в коде Nemerle. Сейчас я занимаюсь макросом, который генерит парсер. Может, через неделю-две будет готова первая версия.

Ну и второе основное отличие, как я уже сказал, код на Nemerle и описание грамматики не смешиваются.

CS>Я ничего не понял... чем это все принципиально лучше прогона файла граматики через Бизон и показа тех же ошибок в IDE или просто в консоли?


CS>На вот тебе http://blogs.msdn.com/devdev/archive/2005/09/13/465034.aspx статью про то как интегрировать Бизон в VS если так уж надо.


Эту штуковину для VS нужно было написать. А я ничего специально не писал.

CS>IDE для разаработки языков программирования?

CS>... не, ну наверное кому-нибудь оно надо... ЯП-мазохистам например которые по языку в неделю выпускают. Но я таких даже и не знаю где искать.

А DSL?
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[9]: Являются ли макросы свидетельством недостаточной выра
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка: :)
Здравствуйте, FR, Вы писали:

VD>>>>Ничего они не позволяют решать. В Смолтоке используется самая поганая система метапрограммирования из известных человечеству — генерация исходного текста и компиляция его на лету. Метаклассы лишь приятный бонус инкапсулирующий паттерны вроде абстракных фабрик. Свми по себе метаклассы метапрограммирования не предоставляют.


ANS>>>Белая гарячка


VD>>у вас, маньяков? Несомненно. Вы же даже возразить аргументированно не умеете.


FR>Влад ты на самом деле бредишь, возражать на это бессмысленно.


Отличное подтверждение моих слов.

Лучше бы попробовал привести код генерирующий тело метода.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Являются ли макросы свидетельством недостаточной выра
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Ты, Влад, возможно, не поверишь, но японцы суп именно так и едят, причем вместо вилки — палочки


Дык они еще сепуку делают. Очень полезное занятие для всех кто не может есть ложкой.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Являются ли макросы свидетельством недостаточной выра
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Палочками офигенно удобно есть чипсы и холодец


А как ими выкадываются глаза!...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка:
Здравствуйте, FR, Вы писали:

FR>>>На C++ шаблонах такое пишется без проблем, используются ленивые вычиления, то есть выражение собирается в operator= скорость не уступает сишной.


VD>>Решение конечно на шаблонах с применением Буста?


FR>На шаблонах без буста. Я такой велосипед писал когда про буст еще не слышал.


Дык, изобрази... посмеемся вместе.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка:
Здравствуйте, eao197, Вы писали:

E>Принципиальная схема реализации отложенных вычислений в C++ изложена у Страуструпа в 3-м издании "Язык программирования C++" (Б.Страуструп, Язык программирования C++, спец. изд./Пер.с англ. — М.;СПб.:"Издательство БИНОМ" — "Невский Диалект", 2001г. — 1099с., ил.) Раздел 22.4.7 "Временные массивы, копирование и циклы", стр.743.


E>Без шаблонов и Буста.


Осталось без трепа изобразить решение.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка:
Здравствуйте, lomeo, Вы писали:

VD>>А в чем разница между ними и макросами? И почему тогда "макросы сакс", а "Rewrite Rules rulez", а?


L>Макросы генерят код по поименованному определению макроса. Это имя используется в коде для вызова макроса компилером.


Это ты домысливашь. Реально же макросы довольно гибкий инструмент и могут делать все что им угодно с кодом проекта (при этом в самом коде не присуствуя).

L>Рулесы делают трансформацию без поименований с уже имеющимися функциями. Компилер находит шаблоны и меняет их.


Но по сути же делается все тоже самое... Согласись...
Мы меняем код неочевидным для прикладного программиста образом. Все зло макросов, как я понимаю, приписывается именно этому свойству.

Как-то странно, что изменение названия и способа запуска сразу превращет зло во благо. А?

L>Допустим, x $ y z => x (y z) можно сделать макросом.

L>А вот как сделать трансформацию map f . map g => map (f . g) макросом я не представляю.

Если есть код перебора выражений (а он есть), то достаточно найти нужный паттерн и заменить его другим.

L>Таким образом, с помощью рулесов можно писать обычный "красиво выглядящий" код с обычными функциями, которые трансформируется в оптимизированный.


Неубедительно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 00:23
Оценка:
Здравствуйте, deniok, Вы писали:

D>Rewrite Rules это способ явно записать указания компилятору для оптимизаций...


... позволяющий изменить до неузноваемости логику компилируемого кода. Да?

D> Это — открытый интерфейс оптимизатора конкретного компилятора, GHC, а не часть языка.


Так зачем тогда вообще говорить о частном решении?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Ты о чём вообще? Мы говорили о конкретной задаче и как она решается.

L>konsoletyper сказал, что не понимает устройство Parsec, я попытался дать основное, что в нём есть.
L>При чём тут ассемблер и структурное программирование?

При том, что сегодня ФВП полноцено не поддерживаются разве что в С++. И эти тирады несколько смешны.

VD>>Насколько я помню на свете есть очень мало языков в которых макросы достигли своего апогея. Все эти языки, как один, являются фунциональными (Лисп, Темлэйт Хаскель, Немерле). Так зачем нас грузить ФП?


L>И?


И не надо нам сотый раз про это. Лучше бы дал прямой ответ на вопрос товарища. Мне вот тоже не ясно где там простота.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, lomeo, Вы писали:

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


L>>>Без проблем! Меняем названия на EBNF-ные.


VD>>На EBNF есть ISO-стандарт. Вот кода вы на Хаскеле его повторить сможете (ну, процентов так на 99 хотя бы), тогда можено будет поговорить. А пока тебе прийдется признать, что решение на Хаскеле не полноценно.


L>А в чём проблема? Я же сказал, что вплоть до переименования там подходит практически всё. (Практически, потому что цитировать стандарт не смогу, а лезть для сверки не хочу.) Мало того, есть дополнительные расширения.


Твои примеры на Парсеке не совместимы с ЕБНФ. Там то и дело грязь разная появляется.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, lomeo, Вы писали:

VD>>Тебе не кажется, что "очень близок" на практике означет "непохож"?


L>Нет.


Ну, тогда я тебе отрою тайну — это так.

VD>>Понимаеш ли в чем дело?... На макросах можно получить как раз тот синтаксис что тебе требуется. И делается это проще.


L>Да, для создания синтаксиса макросы практически незаменимы. Я это уже говорил. И?


И... не надо использовать для решения задач плохо подходящие для них средства. Нужен новый синтаксис? Так и нефига заниматься пуританством. Макросы видите ли бяка... надо найти другой способ. Макрос — это самый прямой способ. Другие дают сложные, неуклюжие и медленные решения.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, lomeo, Вы писали:

VD>>Предлагаю запенисометрировать.


L>Не я. Времени катастрофически нет — сижу на твои посты отвечаю


Как говорят млодые и подвинутые "слив засчитан"...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Ой сорри. Я имел в виду ByteString (Duncan Coutts, Don Stewart)


L>Начать можно отсюда: Data.ByteString

L>Основная статья: Rewriting Haskell Strings

"Byte" означает то о чем я подумал, и Юникод Хаскелю незнаком?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, Klapaucius, Вы писали:

J>>Значит, Google и иже с ним — тоже прошлый век


K>Я всегда знал, что lomeo — человек далекого будущего.


Ага и мне порою кажется, что это бущущее из параллельной реальности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Являются ли макросы свидетельством недостаточной выр
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.07.07 01:33
Оценка:
Здравствуйте, lomeo, Вы писали:

VD>>Кстати, хорошее предложение. Предлагаю пенисомерию. Сравниваем Parsec с лексером konsoletyper-а.

VD>>На входе небольшой проект C#, на выходе количество токенов каждого типа в его файлах.
VD>>Как предложение?

L>Неинтересно.


И я знаю почему...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Являются ли макросы свидетельством недостаточной выра
От: jazzer Россия Skype: enerjazzer
Дата: 27.07.07 02:33
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


J>>Ты, Влад, возможно, не поверишь, но японцы суп именно так и едят, причем вместо вилки — палочки


VD>Дык они еще сепуку делают. Очень полезное занятие для всех кто не может есть ложкой.


Не вижу связи. Ты, вроде, говоришь об удобстве и эффективности? Так вот суп очень удобно есть палочками, проверено на собственном ежедневном опыте (например, сразу изчезает проблема, когда на дне тарелки остается кусочек чего-нибудь, и ты минут пять гоняешь его ложкой/вилкой по тарелке, пытаясь поддеть и отправить в рот). Макароны, кстати, тоже.

А все потому, что у палочек есть функция, которой нет у европейских приборов — хватательная. (С другой стороны — нет зачерпывательной функции.)

С европейскими приборами решений проблемы последнего куска три:
1. Использовать ручное управление: следить за тем, чтобы у тебя не оставалось кусков на дне тарелки (т.е. есть их пока достаточно жидкости).
2. Использовать костыль в виде куска хлеба. Тут мы тоже имеем вариант проблемы с первым решением — надо следить, чтоб осталось достаточно хлеба.
3. Использовать костыль в виде пальца/ножа/вилки/второй ложки.

Ну и радикальные: есть только супы-пюре; забить на этот последний кусок; нанять специально обученного человека, который будет следить, чтоб не кончалась жидкость/хлеб, а при необходимости — цапал этот кусок руками...
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[5]: Являются ли макросы свидетельством недостаточной выра
От: WolfHound  
Дата: 27.07.07 05:40
Оценка: -1 :)
Здравствуйте, jazzer, Вы писали:

J>С европейскими приборами решений проблемы последнего куска три:

А немного наклонить тарелку в голову не приходило?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Являются ли макросы свидетельством недостаточной выра
От: jazzer Россия Skype: enerjazzer
Дата: 27.07.07 05:50
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


J>>С европейскими приборами решений проблемы последнего куска три:

WH>А немного наклонить тарелку в голову не приходило?

В общем случае не поможет. Поможет только в случае катающегося или большого куска.
А если у тебя кусок вареной морковки, который только сдвинуть можно, потому что он прилипает ко дну...

А палочками ты просто цапаешь эти куски, не задумываясь.

И потом, "наклон тарелки" по отношению к программе... Мне навскидку аналогия не приходит.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[16]: Являются ли макросы свидетельством недостаточной выр
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.07.07 08:54
Оценка: +1
Здравствуйте, VladD2, Вы писали:

L>>Неинтересно.


VD>И я знаю почему...


Да, да. Я помню, ты же у нас телепат.

Если серьёзно, то я не понимаю — зачем это тебе. Вроде взрослый человек, а занимается ерундой.
Ну, потратишь ты моё и konsoletyper'а время (или только моё, а? может тогда пусть на входе небольшой хаскель проект будет, чтобы вам тоже не скучать . Узнаешь, что bytestring-парсек на 14.73% медленнее или наоборот быстрее, и что?!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[20]: Являются ли макросы свидетельством недостаточной выр
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.07.07 08:54
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>"Byte" означает то о чем я подумал, и Юникод Хаскелю незнаком?


Да.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.