Size: a a a

Compiler Development

2020 February 23

MS

Mikola Summer Duck in Compiler Development
Но их меньше чем в других языках, согласен.
источник

SM

Sailor Moon in Compiler Development
K R
Это, очевидно, выглядит несколько не так, как выглядел бы Lisp с форматированием без скобок.
Кстати в SRFI целых 3 пропозала на тему использования индента вместо скобок для схемы, но ни одного не встречал на практике
https://srfi.schemers.org/srfi-119/
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Мне кажется, жаловаться на скобки это примерно то же самое, что "играть музыку сложно, ведь надо изучить нотную грамоту" или "русский выучить сложно, ведь нужно изучить кириллицу"
источник

IJ

Igor 🐱 Jirkov in Compiler Development
При пересаживании на язык с непривычной семантикой привыкнуть к его синтаксису — наименьшая из проблем
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Почему так много обсуждений в этом чатике скатываются к синтаксису? :)
источник

PS

Peter Sovietov in Compiler Development
Потому что надо было на входе в чат прикрутить бота, который задавал бы несложные задачки из области liveness/reachability/построй граф несовместимости... ;)
источник

M

MaxGraey in Compiler Development
потому что для многих синтаксис - это и есть язык или сущность всецело обределяющая его, хотя на самом деле это вещь вторичная
источник

YS

Yuriy Syrovetskiy in Compiler Development
MaxGraey
питон и лисп это как две противоположные крайности
одинаковая динамическая лапша
источник

AT

Alexander Tchitchigin in Compiler Development
Igor 🐱 Jirkov
Почему так много обсуждений в этом чатике скатываются к синтаксису? :)
Wadler's law... 🤷‍♀️
источник

МБ

Михаил Бахтерев in Compiler Development
Alexander Tchitchigin
Wadler's law... 🤷‍♀️
+1 :)
источник

МБ

Михаил Бахтерев in Compiler Development
Надо ограничить обсуждения синтаксиса. Это вкусовщина. А вот семантика - дело серьёзное
источник

PS

Peter Sovietov in Compiler Development
Обсуждение семантики — такая же вкусовщина. И синтаксис, и семантика, особенно их отвлеченные обсуждения — это про теорию ЯП в целом, а не про компиляторы.
источник

PS

Peter Sovietov in Compiler Development
Взять ту же статическую семантику.

Плохой вариант — ругаться на динамический Питон и всячески восхвалять систему типов Haskell.
Хороший вариант — обсудить свежую работу по представлению семантического анализа в высокоуровневой выразительной форме для компиляторов: https://eelcovisser.org/talks/2020/2020-02-20-inria/Visser-2020-02-20.pdf
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Wadler's law... 🤷‍♀️
Если обобщить то это «Закон тривиальности» сформулированный Паркинсоном в 1957 году
источник

МБ

Михаил Бахтерев in Compiler Development
Peter Sovietov
Взять ту же статическую семантику.

Плохой вариант — ругаться на динамический Питон и всячески восхвалять систему типов Haskell.
Хороший вариант — обсудить свежую работу по представлению семантического анализа в высокоуровневой выразительной форме для компиляторов: https://eelcovisser.org/talks/2020/2020-02-20-inria/Visser-2020-02-20.pdf
А что в ней? По слайдам не ясно
источник

VK

Val Krylov in Compiler Development
MaxGraey
питон и лисп это как две противоположные крайности
Питон в качестве противоположности не годится. Увы, там используются многострочные выражения со скобками (в основном для коллекций), и выглядит это более крипово, чем в лиспах.
источник

PS

Peter Sovietov in Compiler Development
Михаил Бахтерев
А что в ней? По слайдам не ясно
Там предлагается компилятор разрабатывать с помощью четырех DSL, соответствующих основным 4 этапам трансляции: синт. разбор, статическая семантика, преобразования программ, динамическая семантика. Каждый DSL имеет нотацию из соотв. предметной области, в духе того, как эти этапы описываются в декларативном ключе в хороших учебниках по разработке компиляторов. Конкретная работа посвящена деталям второго DSL, который имеет дело с семантическим анализом. В слайдах есть ссылки на статьи. Анализ типов, разрешение зависимостей, связей — на мой взгляд, это должно быть близко и понятно многим разработчикам компиляторов-практикам.
источник

К

Константин in Compiler Development
Михаил Бахтерев
Надо ограничить обсуждения синтаксиса. Это вкусовщина. А вот семантика - дело серьёзное
На мой взгляд, это заблуждение, вызванное путаницей терминалов синтаксиса со всем синтаксисом в целом. Почему бы не определить синтаксис как программная единица = { любой символ }.  в РБНФ, а дальше обсуждать только семантику? Может потому, что синтаксис задаёт конструкции языка, определяющие его суть, а семантика, по сути - это связывание этих конструкций с конструкциями уже заданного языка, тоже записанных в согласии с синтаксисом? И без синтаксиса нечего и нечем было бы связывать?
источник

МБ

Михаил Бахтерев in Compiler Development
Константин
На мой взгляд, это заблуждение, вызванное путаницей терминалов синтаксиса со всем синтаксисом в целом. Почему бы не определить синтаксис как программная единица = { любой символ }.  в РБНФ, а дальше обсуждать только семантику? Может потому, что синтаксис задаёт конструкции языка, определяющие его суть, а семантика, по сути - это связывание этих конструкций с конструкциями уже заданного языка, тоже записанных в согласии с синтаксисом? И без синтаксиса нечего и нечем было бы связывать?
Абстрактного синтаксиса (AST) недостаточно?
источник

К

Константин in Compiler Development
А как Вы запишете абстрактную семантику? У неё нет синтаксиса?
источник