Size: a a a

2020 October 30

AT

Alexander Tchitchigi... in fprog_spb
Я тоже могу сказать "Мне нужно написать простенький компилятор. Что значит я должен выучить автоматы и EBNF только для разбора текста программ??? В смысле, CFG, SSA и Dataflow analysis?! Какая ещё аллокация регистров методом раскраски графов?!! Вы все с ума посходили, что ли??!" 😂
источник

AP

Alex Peresmeshnik in fprog_spb
Yuuri
Количество строк в альтернативном решении!
На лиспе можно в одну строку
источник

AT

Alexander Tchitchigi... in fprog_spb
Yuuri
Количество строк в альтернативном решении!
Определяется количеством синтаксического сахара в языке для поддержки конкретного механизма. 🤷‍♀️

Если очень хочется, можно нафигачить себе сахарку самостоятельно на макросах. Как в OCaml, так и в Haskell.
источник

AT

Alexander Tchitchigi... in fprog_spb
Alex Peresmeshnik
На лиспе можно в одну строку
Ага, не считая ручной реализации системы статической проверки типов. 😉
источник

AP

Alex Peresmeshnik in fprog_spb
Alexander Tchitchigin
Ага, не считая ручной реализации системы статической проверки типов. 😉
Будто есть варианты компактнее +)
источник

JS

Jerzy Syrowiecki in fprog_spb
Alex Peresmeshnik
Будто есть варианты компактнее +)
один тип на всё. ничего не надо проверять
источник

AP

Alex Peresmeshnik in fprog_spb
Jerzy Syrowiecki
один тип на всё. ничего не надо проверять
источник

JS

Jerzy Syrowiecki in fprog_spb
Yuuri
— Как решить такую-то маленькую задачку?
— Вот тебе много умных слов, иди разбирайся.
Спросить на Reddit, что ли…
источник

Y

Yuuri in fprog_spb
Спасибо, но это не та задачка. Та была – «как организовать ADT для инструкций (statements) императивного языка – «объявление переменной», «присваивание», «вызов выражения», «цикл for» и т. д. – чтобы в первом «слоте» заголовка for можно было только объявление или присвоение, во втором – присвоение или выражение, в третьем – только выражение».
источник

Y

Yuuri in fprog_spb
источник

Г

Гриша in fprog_spb
А записи случайно нет, очень бы хотелось посмотреть?
источник

Y

Yuuri in fprog_spb
Запись @heyley выложит, когда облако прочухается
источник

Г

Гриша in fprog_spb
Супер, спасибо)
источник

JS

Jerzy Syrowiecki in fprog_spb
но это же на Хаскель один-в-один переписывается, если пожертвовать открытостью, которая непонятно к чему
источник

JS

Jerzy Syrowiecki in fprog_spb
Yuuri
Спасибо, но это не та задачка. Та была – «как организовать ADT для инструкций (statements) императивного языка – «объявление переменной», «присваивание», «вызов выражения», «цикл for» и т. д. – чтобы в первом «слоте» заголовка for можно было только объявление или присвоение, во втором – присвоение или выражение, в третьем – только выражение».
а про AST на FT не вы спрашивали?
источник

Y

Yuuri in fprog_spb
Ну мне те, кто смотрел презентацию, стали предлагать FT, я – ок, тогда как это на FT сделать?
источник

MK

Maxim Koltsov in fprog_spb
В статьях Олега есть глубокий ПМ на фт, но это упорото
источник

Y

Yuuri in fprog_spb
> если пожертвовать открытостью, которая непонятно к чему
Ради плоской структуры, переиспользования и упрощения паттерн-матчинга
источник

AT

Anton Trunov in fprog_spb
Вся дискуссия потенциально может быть переведена в серию иллюстрирующих докладов, кстати
источник

JS

Jerzy Syrowiecki in fprog_spb
Yuuri
> если пожертвовать открытостью, которая непонятно к чему
Ради плоской структуры, переиспользования и упрощения паттерн-матчинга
не вижу, как это что-то упростит. чуть-чуть упрощает отладку может быть, но не принципиально. здесь же не используется открытость для пользователя, а только для себя, а наружу типы всё равно закрытые. или я неправильно понял?
источник