Size: a a a

Compiler Development

2020 January 02

AT

Alexander Tchitchigin in Compiler Development
Gymmasssorla
tag нужен, чтоб "матчиться" по вариантам, это делает match в Rust
Как известно, это не на 100% так. 😉
Вы же помните про трюк с Option от non-nullable types? На голых структурах с юнионами это крайне сомнительное дело. Т.е. ADT всё-таки образуют более высокоуровневую абстракцию, которая может по-разному реализовываться, в том числе - в одной и той же программе.
источник

G

Gymmasssorla in Compiler Development
Alexander Tchitchigin
Как известно, это не на 100% так. 😉
Вы же помните про трюк с Option от non-nullable types? На голых структурах с юнионами это крайне сомнительное дело. Т.е. ADT всё-таки образуют более высокоуровневую абстракцию, которая может по-разному реализовываться, в том числе - в одной и той же программе.
Это ведь про оптимизации?
источник

AT

Alexander Tchitchigin in Compiler Development
Gymmasssorla
Это ведь про оптимизации?
Это как посмотреть. А то оптимизации - это тоже такая штука, которая "не меняет поведение программы, но..." 😉
источник

G

Gymmasssorla in Compiler Development
Alexander Tchitchigin
Это как посмотреть. А то оптимизации - это тоже такая штука, которая "не меняет поведение программы, но..." 😉
Вот я и говорил, что спор об определениях)
источник

AT

Alexander Tchitchigin in Compiler Development
Gymmasssorla
Вот я и говорил, что спор об определениях)
Тогда что Вы пытаетесь доказать? 😉
источник

G

Gymmasssorla in Compiler Development
Alexander Tchitchigin
Тогда что Вы пытаетесь доказать? 😉
enum в Rust - сахар. Но это я не буду продолжать, не вижу особо смысла
источник

NV

Nikita Vilunov in Compiler Development
Gymmasssorla
enum в Rust - сахар. Но это я не буду продолжать, не вижу особо смысла
Сахар — это часть языка, которую можно убрать не навредив экспрессивности языка. Убрав enum’ы из Раста, экспрессивность сильно упадёт, потому что их нельзя в полной мере заменить никакими другими фичами языка
источник

AT

Alexander Tchitchigin in Compiler Development
Gymmasssorla
enum в Rust - сахар. Но это я не буду продолжать, не вижу особо смысла
Сахар - не сахар - без разницы как назвать. Факт в том, что енамы (а точнее, ADT) формируют новую абстракцию, которую можно по-разному реализовывать (aka оптимизировать), в том числе потому, что она накладывает определённые ограничения, из которых вытекает и pattern matching, и exhaustiveness.
источник

G

Gymmasssorla in Compiler Development
Alexander Tchitchigin
Сахар - не сахар - без разницы как назвать. Факт в том, что енамы (а точнее, ADT) формируют новую абстракцию, которую можно по-разному реализовывать (aka оптимизировать), в том числе потому, что она накладывает определённые ограничения, из которых вытекает и pattern matching, и exhaustiveness.
Согласен
источник

AT

Alexander Tchitchigin in Compiler Development
А под данное выше определение "сахара" попадают вообще все конструкции языков программирования - while-циклы всего лишь сахар над джампами. Кому это интересно? Так что определение выглядит разумно, но по факту - бессмысленно.
источник

NV

Nikita Vilunov in Compiler Development
Так это некорректное определение синтаксического сахара
источник

AT

Alexander Tchitchigin in Compiler Development
https://youtu.be/43XaZEn2aLc - вот тут правильное определение синтаксического сахара. 😉
источник

NV

Nikita Vilunov in Compiler Development
А из-за длины видео никто так и не узнает что же такое синтаксический сахар
источник

M

MaxGraey in Compiler Development
Yuriy Syrovetskiy
или аналогов (Сhurch encoding, например)
источник

AT

Alexander Tchitchigin in Compiler Development
Nikita Vilunov
А из-за длины видео никто так и не узнает что же такое синтаксический сахар
А те, кто не могут смотреть длинные видео и читать длинные тексты, а пуще всего - долго думать про одну и ту же тему, вообще мало чего интересного узнают в этой жизни, и ещё меньше - сделают. Ну и пусть, зачем кого-то заставлять? 😄
источник

꧁Станцуем жизнь꧂ in Compiler Development
Alexander Tchitchigin
А те, кто не могут смотреть длинные видео и читать длинные тексты, а пуще всего - долго думать про одну и ту же тему, вообще мало чего интересного узнают в этой жизни, и ещё меньше - сделают. Ну и пусть, зачем кого-то заставлять? 😄
Ты зло
источник

꧁Станцуем жизнь꧂ in Compiler Development
Теперь придется смотреть все видео(
источник

AT

Alexander Tchitchigin in Compiler Development
"Не мы такие - жизнь такая." 😂
источник

M

MaxGraey in Compiler Development
А вообще все это можно переписать и в стиле ООП вот так:
https://softwareengineering.stackexchange.com/a/163987
источник

AT

Alexander Tchitchigin in Compiler Development
꧁Станцуем жизнь꧂
Теперь придется смотреть все видео(
И даже более того, по-уму, нужно ещё и статью прочитать и разобраться в доказательствах! 😉
источник