Alexander
перейти что-ли на сабж, раз говнокодить не позволит
Лучше на BrainFuck. Там говнокод от хорошего кода никак не отличить
Andrey
и не коптеров, а стиральных машинок
и не на хаскеле а на си ))))
Aliester
и не коптеров, а стиральных машинок
и не на хаскеле, а на агде
Andrey
ну может там как в каспере - сишный кот управления коптером генерится хаскелем )))
Leonid 🦇
И не код а теоремы
A64m
посоветуйте интересный нефункциональный язык для изучения
Andrey
апл
Andrey
который уже J
Andrey
всеми пропеллерами коптера
Ilya
посоветуйте интересный нефункциональный язык для изучения
а вообще наверное пролог. сам хотел за него взяться
Alexander
verilog
Andrey
да, вот это все из серии ПЛИСоводства
Alexander
verilog
Тебе, кстати, стоит написать свой язык и назвать в честь себя: vershilog
Andrey
(проланг и эрлог)
Alexander
можно я лучше посплю?
Там делов-то. Потом поспишь
Aliester
можно я лучше посплю?
нет, компилятор сам себя не напишет
Andrey
Судя по оценкам - делов на одну ночь
Alexander
я вот прям несколько последних дней компилятор excel в sql делаю
Alexander
!
Alexander
если все нормально будет, то ещё и в spark будет
Aliester
ну а че, и там и там таблицы
Aliester
sql же вроде мелкомягкие для access придумали?
IC
это канал про хаскель? как мне сравнить два дерева бинарных операций (разных) с учётом ассоциативности? true || false || x генерится для тестов как true || ( false || x) а парсится как ( true || false) || x и пичаль
Andrey
через 10 минут будет про хаскель
ena
Простите
IC
я правильно понимаю, что мне надо идти по бранчам пока оператор совпадает и собирать термы в список, а потом сравнить списки?
Alexander
microsoft для excel...
Leonid 🦇
Кстати про SQL - очень крутой курс https://m.youtube.com/playlist?list=PLSE8ODhjZXjYgTIlqf4Dy9KQpQ7kn1Tl0
Alexander
сделать список преобразований и преобразовывать пока не сойдется
Andrey
как в кате тини 3-пасс компилер
ena
3 минуты :с
Alexander
😄 Ждете как Новый год!
Andrey
да мы уже раньше начали онтоп
IC
как в кате тини 3-пасс компилер
если ты про constant folding, то это не оно
Ilya
откуда берётся разная ассоциативность
ena
😄 Ждете как Новый год!
Можно если что в лс для оффтопа перекатываться?
Andrey
если ты про constant folding, то это не оно
оно. плюс нормальная форма
Alexander
выражение a+(b+c) парсер парсит как (a+b)+c или наоборот
Alexander
в тесте нужно проверить, что это одно и тоже
Alexander
т..е. что деревья равны с точностью до расставления скобок в соотвествии с законами
Alexander
Внимание, с этой минуты в чате объявляется неделя воздержания от оффтопа. Оффтоп будет удаляться. Просьба не злоупотреблять, админы ленивые.
Andrey
откуда берётся разная ассоциативность
от степеней и прочих правых
IC
генератор генерит a+(b+c), это принтится как a+b+c и парсится как (a+b)+c). аст не равны буквально, упс
Ilya
генератор генерит a+(b+c), это принтится как a+b+c и парсится как (a+b)+c). аст не равны буквально, упс
я бы обратную польскую нотацию тут задействовал как-нибудь, как промежуточный слой. благо у неё представление единственно.
Andrey
это одна из нормальных форм про которые говорилось выше
IC
Значит претти принтер не учитывает ассоциативность
он то как раз учитывает и дропает скобки
Алексей
Тогда в парсере ассоциативность неправильная
Anatolii
https://twitter.com/donsbot/status/996665301155631105
Anatolii
Я думал я один такой
Andrey
тогда запринтуй и сравнивай строки )))
IC
Тогда в парсере ассоциативность неправильная
генератор любое AST имеет право сгенерить, в том числе, которе парсер никогда не выдаст
Алексей
Так какая у плюса ассоциативность?
Alexander
вообще можно сделать, что-то типа формы при которой агрументы по возрастанию (чего-либо), и для + * тоже определить
IC
тогда запринтуй и сравнивай строки )))
была мысля делать не генератор - принтер - парсер, а генератор - принтер - парсер - принтер. но тогда он же может ересь всякую выдавать, нет?
Alexander
и приводить к этой форме
IC
Так какая у плюса ассоциативность?
левая и отличная от умножения. но это же не влияет
Alexander
сделать gen >>> print >>> parse >>> print в принципе можно
Andrey
а в известном оффтопном семействе языков все операции мультиарные и такой проблемы не возникло бы ))))
Alexander
возникло бы
Andrey
я намекаю что можно сделать не бинарное дерево
Алексей
левая и отличная от умножения. но это же не влияет
Значит преттипринтер неправильно расставляет скобки.
IC
сделать gen >>> print >>> parse >>> print в принципе можно
принтер в первом проходе может налажать, парсер это схавает и на втором принте уже выдаст идентичный первому результат.
Алексей
Только если сложение коммутативно
Andrey
(ассоциативно)