Size: a a a

Compiler Development

2020 January 01

G

Gymmasssorla in Compiler Development
Ilmir
Мне для этого надо забыть борроу-чеккер, написать код, снова выучить раст, переписать его. Давай лет через двадцать.
Если тебе лень, не заставляю
источник

G

Gymmasssorla in Compiler Development
Просто никогда ещё не видел, чтоб аналогичный код с C++ и Rust был хуже по памяти
источник

G

Gymmasssorla in Compiler Development
Да и сравнивать это не имеет смысла, т.к. никто не будет писать на Rust такой же код, как и на C++. Только если сравнивать компиляторы
источник

BD

Berkus Decker in Compiler Development
Ilmir
А вот с этим поспорю.
Ну давай. Какие аргументы? И что именно ты доказываешь?
источник
2020 January 02

I

Ilmir in Compiler Development
Berkus Decker
Ну давай. Какие аргументы? И что именно ты доказываешь?
То, что даже struct с enum + union гораздо лучше альтернативы, то есть развесистой иерархии классов (в случае плюсов). Аргумент - нет никакой необходимости в визиторах.
источник

G

Gymmasssorla in Compiler Development
Ilmir
То, что даже struct с enum + union гораздо лучше альтернативы, то есть развесистой иерархии классов (в случае плюсов). Аргумент - нет никакой необходимости в визиторах.
Растовские enum раскрываются именно в struct + tag + union
источник

G

Gymmasssorla in Compiler Development
Ты можешь это воспринимать как синтаксический сахар, не более
источник

I

Ilmir in Compiler Development
Gymmasssorla
Если тебе лень, не заставляю
Ну серьезно, я уже программирую с лайфтаймами, только они живут у меня в голове/в комментариях. Владение - std::unique_ptr. Borrow - сырой указатель. Передача владения - std::move. Тут проблема еще осложняется тем, что у меня не осталось кода эн-летней давности, который я писал еще на std::auto_ptr, то есть еще до C++11, который я не переделал на std::unique_ptr при первой же возможности.
источник

I

Ilmir in Compiler Development
Gymmasssorla
Ты можешь это воспринимать как синтаксический сахар, не более
И я о том же. Если лень писать каждый раз struct with enum+union, то препроцессор в помощь. Вот паттерн-матчинг да, без него уныло.
источник

G

Gymmasssorla in Compiler Development
Ilmir
И я о том же. Если лень писать каждый раз struct with enum+union, то препроцессор в помощь. Вот паттерн-матчинг да, без него уныло.
Препроцессор здесь как поможет?
источник

I

Ilmir in Compiler Development
Gymmasssorla
Препроцессор здесь как поможет?
Писать что-то типа
ADT(MyAwesomeAdt)
 ENTRY(FirstEntry, (char** identifier;))
 ENTRY(SecondEntry, (int integer;))
 ENTRY(TrirdEntry, (float floating;))
END_ADT
источник

G

Gymmasssorla in Compiler Development
Ilmir
Писать что-то типа
ADT(MyAwesomeAdt)
 ENTRY(FirstEntry, (char** identifier;))
 ENTRY(SecondEntry, (int integer;))
 ENTRY(TrirdEntry, (float floating;))
END_ADT
А, понял
источник

I

Ilmir in Compiler Development
Вернее даже так:
```
ADT(MyAwesomeAdt,
 ENTRY(FirstEntry, (char** identifier;)),
 ENTRY(SecondEntry, (int integer;)),
 ENTRY(TrirdEntry, (float floating;))
)
```
Точно не вспомню, что за извращение я применял.
источник

BD

Berkus Decker in Compiler Development
Ilmir
То, что даже struct с enum + union гораздо лучше альтернативы, то есть развесистой иерархии классов (в случае плюсов). Аргумент - нет никакой необходимости в визиторах.
Так, а про ассемблер и удобство?
источник

I

Ilmir in Compiler Development
Berkus Decker
Так, а про ассемблер и удобство?
Это антонимы.
источник

BD

Berkus Decker in Compiler Development
Ты сказал что таггед юнион лучше иерархии классов - это и так понятно, composition over inheritance, но я тогда совсем не понял с чем ты не согласен в моей фразе про ассемблер, можешь написать с чем ты споришь-ТО?
источник

I

Ilmir in Compiler Development
Я спорил против того, что эмуляция не прибавляет удобства.
источник

BD

Berkus Decker in Compiler Development
Ilmir
Я спорил против того, что эмуляция не прибавляет удобства.
Всяко не прибавляет, у тебя нету например exhaustive matching-а.
источник

BD

Berkus Decker in Compiler Development
Можно записать один мембер и прочитать другой - без единого варнинга.
источник

BD

Berkus Decker in Compiler Development
Удобство короче только синтаксическое
источник