Информация об изменениях

Сообщение Re[31]: Опциональные типы от 06.03.2017 13:04

Изменено 06.03.2017 13:32 vdimas

Re[31]: Опциональные типы
Здравствуйте, WolfHound, Вы писали:

WH>Re[25]: Опциональные типы
Автор: vdimas
Дата: 05.03.17

WH>Вот это чьё сообщение?

Вопрос в силе.


WH>Так что ты получил что хотел.


Я получаю лишь отмазки и уже 3-й раз прошу показать мне то, что ты обещал.


WH>Теперь повтори этот код на хаскеле.


Ты так и не показал своё решение.

Необходимо было "прочесть" из входа некий вектор и вернуть его.
Ты никуда его не возвращаешь, ты оперируешь им исключительно в том же блоке кода, в котором прочел что-то из входа — я вижу чтение из входа прямо в теле main. Для решения задачи все операции чтения должны быть внутри некой ф-ии, которая вызывается из main, внутри себя читает вектор и возвращает его вызывающему коду. Иначе слил.

А попробуешь "завернуть" вектор в некий другой тип-адаптер или вернуть не только вектор, но и любое сопутствующее значение — тоже слил, потому что "завернуть" в некий адаптер можно и в Хаскель опять же на параметрическом полиморфизме. Но ты ж сформулировал вопрос так, чтобы вернуть непосредственно сам вектор, верно? Код в студию. ))


WH>Ты же тут утверждаешь, что ЗТ в хаскеле есть. Вот и доказывай.


Это тебе голоса в голове утверждали.
А я утверждал следующее:

WH>Очевидно, что это профанация, а не ЗТ.
Ну, хаскелисты утверждают, что такими св-вами обладают лишь языки с ЗТ.
Пирс даёт такой же трюк, описанный в Вики:
Решение условно предполагает, что фантомный тип n будет использоваться для моделирования целочисленного параметра вектора на основе аксиом Пеано.

Итого, было сразу же сказано, как и что эмулируется и какой класс задач теперь можно решать — тот класс, который раньше был по зубам языкам с поддержкой ЗТ.
Если бы ты в этом месте включил самый важный орган программиста, то там и спорить дальше было не о чем.
Но ты забыл это сделать. ))

А теперь мне очевидно, что тебе срочно требуется "что-то еще для демонстрации крутости ЗТ", но вот что именно — ты пока СФОРМУЛИРОВАТЬ не в состоянии.
А ты не торопись, подумай.
Как сформулируешь очередную "задачку, с которой справятся только ЗТ", так приходи.

И да. "Доказанную сортировку" на Хаскеле на описанных трюках я тоже уже видел в сети.
Помнится, ты приводил пример такой сортировки и думал, это прям мега-круто и доступно для понимания лишь посвящённым. ))


WH>Повтори простейший пример.


Я не вижу никакого примера. Вижу твои изворачивания.

Просто ты потерял лет 6 (или 8 или сколько там уже?), когда я пытался развить эту тему.
Теперь-то мне понятно — почему. ))
Потому что ты ставил знак равенства м/у статической типизацией в С++ и в Хаскель.
При этом все эти годы ты имел нахальство приписывать своё непонимание мне, ы-ы-ы.
При этом, я делал за весь этот срок несколько попыток поднять тему — но, некие твои личные кач-ва этому мешали и до сих пор мешают, заметь.

Например, показанный тебе пример на Хаскеле ты должен был найти сам на сайте, их разбирали минимум трижды здесь за все эти годы.
Или найти в сети, их тоже полно.


V>>Весёлый ты парень. Ты упростил себе задачу — у тебя size известен заранее, что не всегда бывает на практике.

WH>1)У меня size заранее не известен. Он читается из консоли.

Для ф-ии формирования вектора он у тебя прочитан заранее.


WH>2)Ты даже упрощённый вариант показать не можешь. Ибо трепло.


Ибо прикольно быть модером и хамить, верно?

По этой теме уже всё с тобой ясно — ты не в состоянии показать только что тобой же обещанное.
Я уверен, что ты ОЧЕНЬ хорошо понимаешь, что мне нужно.
Я даже это достоверно знаю.
Но показать ты не сможешь.
Поэтому, мне остаётся любоваться твоими психами. :-

WH>Заметь тут с тобой все ругаются. Даже D. Mon послал тебя в весьма грубой форме.


Почему даже? ))
Он как раз регулярно тут хамит окружающим.
Намного-намного реже тебя, но, таки, регулярно.

И твои "все" — это одни и те же 3.5 человека на весь сайт.
Вы тут регулярно ругаетесь с любыми, кто посмеет вам возражать или ни дай бог, выставит вас неучами. И?
Я здесь при чем, если конкретно ты тут знатно сходил до ветру против ветра, и у тебя в процессе всё время бомбит? ))

У D.Mon точно так же — сначала он долго не въезжает, потом психует. Мы с ним это уже проходили.
Он часто умничает, но понимает далеко не всё.
Работает с oCaml, а что там происходит унутре — не в курсе, как только что выяснилось.
И т.д.
Я такой подход хорошо знаю — нахвататься по верхам и тешить своё ЧСВ за счет окружающих.
Ты ж поглянь что он пишет:

Открою один секрет, о котором большинство программистов не догадываются, и в наших вузах от них тоже скрывают. Есть такая штука, называется теория типов. Она на эти вопросы отвечает очень быстро и однозначно.

Сама по себе такая "широковещательная" формулировка попахивает, знаешь ли.
Но этого мало.
Стоило только чуть ноготком подцепить и выяснилось, что он сам в этой теории изрядно плавает.
Как и ты, который НЕ понимает, что есть "сорта типов". )))
Тебе всё кажется, что это такая простая иерархия, да? Вот прям элементарная? Прям как статическая типизация Хаскеля такая же как в С++? (якобы такая же)? Самое забавное, мне опять и снова хорошо понятно, что именно тебе не понятно.
У тебя же там тоже пукан порвало и я запомнил.
Через несколько лет (я ХЗ сколько тебе потребуется для понимания очередного несложного материала) я тебе напомню твоё нынешнее понимание сортов типов и опять полюбуюсь на твой разорванный пукан.
Ну или есть еще вариант — почему бы тебе не почитать, например HoTT?
Тогда ты быстро обнаружишь, почему я писал о сортах типов то, что писал.
И почему твоя "иерархия" не нужна.

Я ведь именно тебе (единственному из этих 3.5 человек) МНОГОКРАТНО говорил, что конкретно у тебя проблема в том, что ты зачастую и не хочешь знать. Лично мне со стороны даже где-то обидно за незнакомого мне человека — вроде голова твоя соображать умеет (что приятная редкость, прямо скажем), а вроде часто по верхам, кусочно гладко, не систематично и вообще... Жаль, просто жаль... Потому что у других, кто тут регулярно психует, скажем прямо, проблемы совсем другого плана, я бы даже сказал — местами совершенно непреодолимого плана. ))


WH>Так что ты подумай может это ты по встречной полосе прёшь.


Ну, до тех пор пока у меня самого пукан не рвется — я вас потерплю.
Выбор-то невелик.
Вы ж разогнали всех более-менее интересных собеседников с этого сайта в разные годы.
А даже те, которые остались — они же избегают обсуждений, потому что иметь в оппонентах кадра с такими манерами как у тебя — это только заляпаться вот этим неадекватом и негативом.
Я ж грю — пороть вас некому! Балованные.
Из-за банальной слабости психики, из-за вот этого детского недержания, в итоге наносите вред всему проекту.


V>>Ту тебе Самое время попытаться поймать на компетентности кого-нить другого, благо и повод есть: алгоритм Флойда—Уоршелла.

WH>Всё что про него нужно знать это то что он имеет кубическую сложность. И для шаблонов С++ это смерть. И об этом я сказал. Да и вообще весь алгоритм это 4 строки.

Да дело не в этом...
Можно было так построить компиляцию, чтобы всю шаблонную нагрузку позвать из единственного cpp-файла и не париться.
И в самих шаблонах С++ можно "обрывать" длительные вычисления времени компиляции через некие промежуточные частичные специализации.

Тут вопрос в другом: для кодогенерации тебе в любом случае надо сначала как-то закодировать понятия из предметной области, а затем уже интерпретировать эту кодировку в процессе генерации текста. Так вот, что касается С++ — то как раз вещи из подобной предметной области (отличия в разметке структур и в семантике полей) — это вообще конёк шаблонов С++, тут сложно найти другой такой же заточенный именно под эту задачу тул.


WH>Адекватный человек бы признал, что сказал глупость. Но ты продолжаешь твердить что всё нормально. С++ переживёт.


Адекватный человек вообще не ставит так вопросы, для начала.
Он или поясняет на словах свою т.з., или, если не может пояснить, показывает контрпример.
Не было ни первого ни второго.
А даже если бы и был, то всё-равно вот так вопросы про "глупость" не ставят в техническом обсуждении.
Почему? Потому что часто идёт выбор среди ВАЛИДНЫХ способов решений некоей проблемы.
Т.е. все обсуждение сводится к выбору лучшего варианта решения.
Поэтому, чаще всего никому и не надо признавать никакую свою глупость, максимум что можно признать — что решение другого коллеги лучше.
Но это надо показать, с учётом стоимости решения и стоимости потенциальной поддержки в будущем и т.д. (мы же не первый раз в первый класс).
А ты вот этих базовых вещей технического диалога тоже не догоняешь, что характерно.
Очевидно же, что в коллективе работать тебе противопоказанно.
Потому что будь ты хоть тысячу раз прав в произвольном спорном моменте — у тебя нет никаких шансов свою правоту продемонстрировать. У тебя нет этого навыка. Тем более, что ты непроизвольно часто скатываешься в демагогические приёмы, и любой опытный спорщик тебя размажет даже хотя бы чисто по демагогии — ты же всегда всё переворачиваешь нахрен. ))
И что в итоге?
Ты просто будешь внутри себя знать "я прав" и единственное что мочь — посылать окружающих.
Разве не детсад? ))


WH>Хотя ты конечно можешь доказать, что всё хорошо и реализовать этот алгоритм на С++. Но только чтобы компиляторы 2007ого года это проглотили.

WH>Хотя я думаю, что даже современные подавятся.

Я думаю, что ты должен помнить, что начиная с 2005-й студии никаких проблем с шаблонами по стандарту C++03 не было.
Да там уже с 2003-й не было.
Последние проблемы с шаблонами я помню у вот той промежуточной версии — 2002-й студии.


WH>Это если забыть про, то что шаблоны сами по себе генерация кода.


Верно. О чем и речь.

Там вообще все звёзды сошлись:
— ты показывал своё хорошее владение шаблонами С++;
— все 3 стороны спора об этом прекрасно в курсе;
— на шаблонах это всё заняло бы примерно столько же времени, сколько потребовалось бы лишь для того, чтобы закодировать предметную область для кодогенерации (и это еще БЕЗ самой генерации).

И почему ты тогда отрицаешь моё демократическое право признать такое положение вещей забавным?
Это реально было забавно...
Ну, если вообще в технических вопросах случаются забавные вещи — то они именно таковы.

Т.е., явная кодогенерация-то порой нужна, ОК.
Гапертон там приводил за и против.
Ты напирал на за, что, мол, она вообще может стать частью повседневной разработки.
И тут приводишь пример, который невооружённым взглядом смотрится как "мне захотелось поиграть в кодогенерацию".
Ну т.е. "мамой клянусь, кодогенерация нужна... ну вот такой пример пока только!" ))
И зря ты стал пытаться уводить разговор в тонкости сугубо технической области — в этой забавной ситуации она была вовсе не при чем.
Не говоря уже о том, что такой увод являлся грубейшей демагогией и нарушением всех мыслимых норм ведения спора, бо грубый перевод стрелок.
Там надо было просто проехать забавность всей ситуации (в комплексе всех её составляющих) и всё. Т.е. отложить этот спор до того момента, как подвернётся более цепляющий пример.


WH>И суперпупермегабыстрый GLR я до сих пор жду. Ни LR(0) или что там тебе ещё голоса в голове напоют, а полноценный GLR.


Я никому не обещал никакой код, с чего ты взял-то?
Это ж опять демагогические приемы пошли.
Я поделился наблюдаемыми результатами в одном из проектов 7-8-летней давности.
Тогда же и поделился, что наблюдал такие результаты.

И ладно, если бы это был Чайник Рассела, который по условию никто не в состоянии увидеть — я бы еще понял твою попоболь.
Но если весь и-нет завален материалами и исходниками про тот же LR(0) — то какие проблемы-то?
Твой "полноценный GLR" — это распараллеленный LR(0).

Но начать надо с LR(0) или даже забыть про эту тему. Это принципиально.
Потому что ты ж в курсе, что он парсит за O(n)?
Ты говоришь, что там "константа большая".
Но если эта константа и есть в какой-то реализации, то она живет в реализации парсера LR(0).

Поэтому, сорри, но парсер LR(0) — это уровень ноль. Сначала надо пройти его.
Как его пройти — я еще тогда же, когда первый раз зашла на эту тему речь, предложил скормить ему грамматику от лексера и посмотреть на его работу. Т.е. посмотреть на его работу, когда исходные правила (после раскрытия всех скобок) заданы с уровнем вложенности 1.
Это важно.
Потому что в этом месте ты или увидишь для себя что-то полезное или можно будет даже не продолжать.
Re[31]: Опциональные типы
Здравствуйте, WolfHound, Вы писали:

WH>Re[25]: Опциональные типы
Автор: vdimas
Дата: 05.03.17

WH>Вот это чьё сообщение?

Вопрос в силе.


WH>Так что ты получил что хотел.


Я получаю лишь отмазки и уже 3-й раз прошу показать мне то, что ты обещал.


WH>Теперь повтори этот код на хаскеле.


Ты так и не показал своё решение.

Необходимо было "прочесть" из входа некий вектор и вернуть его.
Ты никуда его не возвращаешь, ты оперируешь им исключительно в том же блоке кода, в котором прочел что-то из входа — я вижу чтение из входа прямо в теле main. Для решения задачи все операции чтения должны быть внутри некой ф-ии, которая вызывается из main, внутри себя читает вектор и возвращает его вызывающему коду. Иначе слил.

А попробуешь "завернуть" вектор в некий другой тип-адаптер или вернуть не только вектор, но и любое сопутствующее значение — тоже слил, потому что "завернуть" в некий адаптер можно и в Хаскель опять же на параметрическом полиморфизме. Но ты ж сформулировал вопрос так, чтобы вернуть непосредственно сам вектор, верно? Код в студию. ))


WH>Ты же тут утверждаешь, что ЗТ в хаскеле есть. Вот и доказывай.


Это тебе голоса в голове утверждали.
А я утверждал следующее:

WH>Очевидно, что это профанация, а не ЗТ.
Ну, хаскелисты утверждают, что такими св-вами обладают лишь языки с ЗТ.
Пирс даёт такой же трюк, описанный в Вики:
Решение условно предполагает, что фантомный тип n будет использоваться для моделирования целочисленного параметра вектора на основе аксиом Пеано.

Итого, было сразу же сказано, как и что эмулируется и какой класс задач теперь можно решать — тот класс, который раньше был по зубам языкам с поддержкой ЗТ.
Если бы ты в этом месте включил самый важный орган программиста, то там и спорить дальше было не о чем.
Но ты забыл это сделать. ))

А теперь мне очевидно, что тебе срочно требуется "что-то еще для демонстрации крутости ЗТ", но вот что именно — ты пока СФОРМУЛИРОВАТЬ не в состоянии.
А ты не торопись, подумай.
Как сформулируешь очередную "задачку, с которой справятся только ЗТ", так приходи.

И да. "Доказанную сортировку" на Хаскеле на описанных трюках я тоже уже видел в сети.
Помнится, ты приводил пример такой сортировки и думал, это прям мега-круто и доступно для понимания лишь посвящённым. ))


WH>Повтори простейший пример.


Я не вижу никакого примера. Вижу твои изворачивания.

Просто ты потерял лет 6 (или 8 или сколько там уже?), когда я пытался развить эту тему.
Теперь-то мне понятно — почему. ))
Потому что ты ставил знак равенства м/у статической типизацией в С++ и в Хаскель.
При этом все эти годы ты имел нахальство приписывать своё непонимание мне, ы-ы-ы.
При этом, я делал за весь этот срок несколько попыток поднять тему — но, некие твои личные кач-ва этому мешали и до сих пор мешают, заметь.

Например, показанный тебе пример на Хаскеле ты должен был найти сам на сайте, их разбирали минимум трижды здесь за все эти годы.
Или найти в сети, их тоже полно.


V>>Весёлый ты парень. Ты упростил себе задачу — у тебя size известен заранее, что не всегда бывает на практике.

WH>1)У меня size заранее не известен. Он читается из консоли.

Для ф-ии формирования вектора он у тебя прочитан заранее.


WH>2)Ты даже упрощённый вариант показать не можешь. Ибо трепло.


Ибо прикольно быть модером и хамить, верно?

По этой теме уже всё с тобой ясно — ты не в состоянии показать только что тобой же обещанное.
Я уверен, что ты ОЧЕНЬ хорошо понимаешь, что мне нужно.
Я даже это достоверно знаю.
Но показать ты не сможешь.
Поэтому, мне остаётся любоваться твоими психами.


WH>Заметь тут с тобой все ругаются. Даже D. Mon послал тебя в весьма грубой форме.


Почему даже? ))
Он как раз регулярно тут хамит окружающим.
Намного-намного реже тебя, но, таки, регулярно.

И твои "все" — это одни и те же 3.5 человека на весь сайт.
Вы тут регулярно ругаетесь с любыми, кто посмеет вам возражать или ни дай бог, выставит вас неучами. И?
Я здесь при чем, если конкретно ты тут знатно сходил до ветру против ветра, и у тебя в процессе всё время бомбит? ))

У D.Mon точно так же — сначала он долго не въезжает, потом психует. Мы с ним это уже проходили.
Он часто умничает, но понимает далеко не всё.
Работает с oCaml, а что там происходит унутре — не в курсе, как только что выяснилось.
И т.д.
Я такой подход хорошо знаю — нахвататься по верхам и тешить своё ЧСВ за счет окружающих.
Ты ж поглянь что он пишет:

Открою один секрет, о котором большинство программистов не догадываются, и в наших вузах от них тоже скрывают. Есть такая штука, называется теория типов. Она на эти вопросы отвечает очень быстро и однозначно.

Сама по себе такая "широковещательная" формулировка попахивает, знаешь ли.
Но этого мало.
Стоило только чуть ноготком подцепить и выяснилось, что он сам в этой теории изрядно плавает.
Как и ты, который НЕ понимает, что есть "сорта типов". )))
Тебе всё кажется, что это такая простая иерархия, да? Вот прям элементарная? Прям как статическая типизация Хаскеля такая же как в С++? (якобы такая же)? Самое забавное, мне опять и снова хорошо понятно, что именно тебе не понятно.
У тебя же там тоже пукан порвало и я запомнил.
Через несколько лет (я ХЗ сколько тебе потребуется для понимания очередного несложного материала) я тебе напомню твоё нынешнее понимание сортов типов и опять полюбуюсь на твой разорванный пукан.
Ну или есть еще вариант — почему бы тебе не почитать, например HoTT?
Тогда ты быстро обнаружишь, почему я писал о сортах типов то, что писал.
И почему твоя "иерархия" не нужна.

Я ведь именно тебе (единственному из этих 3.5 человек) МНОГОКРАТНО говорил, что конкретно у тебя проблема в том, что ты зачастую и не хочешь знать. Лично мне со стороны даже где-то обидно за незнакомого мне человека — вроде голова твоя соображать умеет (что приятная редкость, прямо скажем), а вроде часто по верхам, кусочно гладко, не систематично и вообще... Жаль, просто жаль... Потому что у других, кто тут регулярно психует, скажем прямо, проблемы совсем другого плана, я бы даже сказал — местами совершенно непреодолимого плана. ))


WH>Так что ты подумай может это ты по встречной полосе прёшь.


Ну, до тех пор пока у меня самого пукан не рвется — я вас потерплю.
Выбор-то невелик.
Вы ж разогнали всех более-менее интересных собеседников с этого сайта в разные годы.
А даже те, которые остались — они же избегают обсуждений, потому что иметь в оппонентах кадра с такими манерами как у тебя — это только заляпаться вот этим неадекватом и негативом.
Я ж грю — пороть вас некому! Балованные.
Из-за банальной слабости психики, из-за вот этого детского недержания, в итоге наносите вред всему проекту.

Кстате, показательно, из-за какого моего сообщения у D.Mon порвался пукан:
http://www.rsdn.org/forum/philosophy/6716318.1
Сможешь ли ты выступить беспристрастным судьёй сугубо по технической части спора:
— где я там настолько сурово был не прав?
— что аж взорвался пукан у коллеги?

Причем, мне-то и здесь понятно, что коллеге не понятно (подсказка — в С++ адрес ссылки не доступен, ею нельзя оперировать как значением).

Ну вот у меня праздное любопытство — там пукан порвался, потому что коллега наконец понял (а самые страшные взрывы подобного рода вживую я наблюдал именно в такие моменты), или наборот — не понял ни одной буквы и это его стандартный такой псих, когда он чего-то не понимает?

Как по мне, то забавны оба варианта.


V>>Ту тебе Самое время попытаться поймать на компетентности кого-нить другого, благо и повод есть: алгоритм Флойда—Уоршелла.

WH>Всё что про него нужно знать это то что он имеет кубическую сложность. И для шаблонов С++ это смерть. И об этом я сказал. Да и вообще весь алгоритм это 4 строки.

Да дело не в этом...
Можно было так построить компиляцию, чтобы всю шаблонную нагрузку позвать из единственного cpp-файла и не париться.
И в самих шаблонах С++ можно "обрывать" длительные вычисления времени компиляции через некие промежуточные частичные специализации.

Тут вопрос в другом: для кодогенерации тебе в любом случае надо сначала как-то закодировать понятия из предметной области, а затем уже интерпретировать эту кодировку в процессе генерации текста. Так вот, что касается С++ — то как раз вещи из подобной предметной области (отличия в разметке структур и в семантике полей) — это вообще конёк шаблонов С++, тут сложно найти другой такой же заточенный именно под эту задачу тул.


WH>Адекватный человек бы признал, что сказал глупость. Но ты продолжаешь твердить что всё нормально. С++ переживёт.


Адекватный человек вообще не ставит так вопросы, для начала.
Он или поясняет на словах свою т.з., или, если не может пояснить, показывает контрпример.
Не было ни первого ни второго.
А даже если бы и был, то всё-равно вот так вопросы про "глупость" не ставят в техническом обсуждении.
Почему? Потому что часто идёт выбор среди ВАЛИДНЫХ способов решений некоей проблемы.
Т.е. все обсуждение сводится к выбору лучшего варианта решения.
Поэтому, чаще всего никому и не надо признавать никакую свою глупость, максимум что можно признать — что решение другого коллеги лучше.
Но это надо показать, с учётом стоимости решения и стоимости потенциальной поддержки в будущем и т.д. (мы же не первый раз в первый класс).
А ты вот этих базовых вещей технического диалога тоже не догоняешь, что характерно.
Очевидно же, что в коллективе работать тебе противопоказанно.
Потому что будь ты хоть тысячу раз прав в произвольном спорном моменте — у тебя нет никаких шансов свою правоту продемонстрировать. У тебя нет этого навыка. Тем более, что ты непроизвольно часто скатываешься в демагогические приёмы, и любой опытный спорщик тебя размажет даже хотя бы чисто по демагогии — ты же всегда всё переворачиваешь нахрен. ))
И что в итоге?
Ты просто будешь внутри себя знать "я прав" и единственное что мочь — посылать окружающих.
Разве не детсад? ))


WH>Хотя ты конечно можешь доказать, что всё хорошо и реализовать этот алгоритм на С++. Но только чтобы компиляторы 2007ого года это проглотили.

WH>Хотя я думаю, что даже современные подавятся.

Я думаю, что ты должен помнить, что начиная с 2005-й студии никаких проблем с шаблонами по стандарту C++03 не было.
Да там уже с 2003-й не было.
Последние проблемы с шаблонами я помню у вот той промежуточной версии — 2002-й студии.


WH>Это если забыть про, то что шаблоны сами по себе генерация кода.


Верно. О чем и речь.

Там вообще все звёзды сошлись:
— ты показывал своё хорошее владение шаблонами С++;
— все 3 стороны спора об этом прекрасно в курсе;
— на шаблонах это всё заняло бы примерно столько же времени, сколько потребовалось бы лишь для того, чтобы закодировать предметную область для кодогенерации (и это еще БЕЗ самой генерации).

И почему ты тогда отрицаешь моё демократическое право признать такое положение вещей забавным?
Это реально было забавно...
Ну, если вообще в технических вопросах случаются забавные вещи — то они именно таковы.

Т.е., явная кодогенерация-то порой нужна, ОК.
Гапертон там приводил за и против.
Ты напирал на за, что, мол, она вообще может стать частью повседневной разработки.
И тут приводишь пример, который невооружённым взглядом смотрится как "мне захотелось поиграть в кодогенерацию".
Ну т.е. "мамой клянусь, кодогенерация нужна... ну вот такой пример пока только!" ))
И зря ты стал пытаться уводить разговор в тонкости сугубо технической области — в этой забавной ситуации она была вовсе не при чем.
Не говоря уже о том, что такой увод являлся грубейшей демагогией и нарушением всех мыслимых норм ведения спора, бо грубый перевод стрелок.
Там надо было просто проехать забавность всей ситуации (в комплексе всех её составляющих) и всё. Т.е. отложить этот спор до того момента, как подвернётся более цепляющий пример.


WH>И суперпупермегабыстрый GLR я до сих пор жду. Ни LR(0) или что там тебе ещё голоса в голове напоют, а полноценный GLR.


Я никому не обещал никакой код, с чего ты взял-то?
Это ж опять демагогические приемы пошли.
Я поделился наблюдаемыми результатами в одном из проектов 7-8-летней давности.
Тогда же и поделился, что наблюдал такие результаты.

И ладно, если бы это был Чайник Рассела, который по условию никто не в состоянии увидеть — я бы еще понял твою попоболь.
Но если весь и-нет завален материалами и исходниками про тот же LR(0) — то какие проблемы-то?
Твой "полноценный GLR" — это распараллеленный LR(0).

Но начать надо с LR(0) или даже забыть про эту тему. Это принципиально.
Потому что ты ж в курсе, что он парсит за O(n)?
Ты говоришь, что там "константа большая".
Но если эта константа и есть в какой-то реализации, то она живет в реализации парсера LR(0).

Поэтому, сорри, но парсер LR(0) — это уровень ноль. Сначала надо пройти его.
Как его пройти — я еще тогда же, когда первый раз зашла на эту тему речь, предложил скормить ему грамматику от лексера и посмотреть на его работу. Т.е. посмотреть на его работу, когда исходные правила (после раскрытия всех скобок) заданы с уровнем вложенности 1.
Это важно.
Потому что в этом месте ты или увидишь для себя что-то полезное или можно будет даже не продолжать.