Size: a a a

Compiler Development

2020 March 02

Т8

Т-34 85 in Compiler Development
с темплейтами
источник

EM

Evgenii Moiseenko in Compiler Development
Т-34 85
раньше транслировался, но к вопросу это не имеет отношения. Он даёт быстрый и лёгкий выхлоп
Ну хз, думаю если намешать темплейтов в стиле буста, будет не так быстро
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
Т-34 85
а почему 2? Как минимум 3.0.3 есть
Опечатался
источник

AT

Alexander Tchitchigin in Compiler Development
Т-34 85
компиляторы сей делают оптимизации copy elision, rvo, nrvo? Хорошая ли идея взять C++03, убрать lvalue ссылки, оставив CoW в std классах, получившийся язык будет фронтом для Си? Какие проблемы могут возникнуть? Смартпоинтеры будут
Нет, Вы, конечно, попробуйте - потом нам и расскажете что получилось...
источник

Т8

Т-34 85 in Compiler Development
Alex Ф-ф-фэils!🌠︙
Про cow Антон полухин делал доклад что его отменили из-за гонок в многопоточке
Окей, спасибо за ответ. А сама идея, если этот момент отбросить, норм? Или есть готовая идея получше? Я знаю про растовские ссылки, но стараюсь придумать и чтоб без них, и чтоб безопасно, и чтоб хороший перформанс оставался. CoW только вижу
источник

MM

Mikhail Maltsev in Compiler Development
Т-34 85
раньше транслировался, но к вопросу это не имеет отношения. Он даёт быстрый и лёгкий выхлоп
И сейчас тоже транслируется (по крайней мере, возможность есть):
https://www.edg.com/c
> Also included: a C-generating back end, which can be used to generate C code for C++ programs
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
Т-34 85
Окей, спасибо за ответ. А сама идея, если этот момент отбросить, норм? Или есть готовая идея получше? Я знаю про растовские ссылки, но стараюсь придумать и чтоб без них, и чтоб безопасно, и чтоб хороший перформанс оставался. CoW только вижу
Наверное, норм, но я на самом деле еще не совсем понимаю, чем lvalue refs не угодили
источник

Т8

Т-34 85 in Compiler Development
Alex Ф-ф-фэils!🌠︙
Наверное, норм, но я на самом деле еще не совсем понимаю, чем lvalue refs не угодили
они могут оказаться висячими
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
А, ну вот только это и пришло в голову, в 23-м планируют часть правил заэнфорсить на эту тему
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
И дядюшка Саттер пилит ещё тему с Lifetimes TS
источник

Т8

Т-34 85 in Compiler Development
Alex Ф-ф-фэils!🌠︙
И дядюшка Саттер пилит ещё тему с Lifetimes TS
и получится как в Rust?
источник

AZ

Alexander Zaitsev in Compiler Development
Т-34 85
и получится как в Rust?
(нет)
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
Нет
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
+
источник

AT

Alexander Tchitchigin in Compiler Development
Т-34 85
Окей, спасибо за ответ. А сама идея, если этот момент отбросить, норм? Или есть готовая идея получше? Я знаю про растовские ссылки, но стараюсь придумать и чтоб без них, и чтоб безопасно, и чтоб хороший перформанс оставался. CoW только вижу
>  и чтоб безопасно, и чтоб хороший перформанс оставался

Тогда придётя "расплачиваться" сложной системой типов. См. The ATS Programming Language.
источник

Т8

Т-34 85 in Compiler Development
Mikhail Maltsev
И сейчас тоже транслируется (по крайней мере, возможность есть):
https://www.edg.com/c
> Also included: a C-generating back end, which can be used to generate C code for C++ programs
проприетарный? Раз нельзя форкнуть, то не годится. Из кандидатов valac и cfront
источник

MM

Mikhail Maltsev in Compiler Development
Да, EDG проприетарный. Я думал вопрос в том, реализуема ли трансляция в C в принципе.
источник

Т8

Т-34 85 in Compiler Development
Alexander Tchitchigin
>  и чтоб безопасно, и чтоб хороший перформанс оставался

Тогда придётя "расплачиваться" сложной системой типов. См. The ATS Programming Language.
не, такое не годится, никто на нём не будет писать. Да и я однозначно не потяну это реализовывать. CoW... Ну, или с++23 допилят, как говорит @AlexFails. Но мне бы ещё хотелось упростить семантику,  не потеряв достоинства плюсов
источник

AT

Alexander Tchitchigin in Compiler Development
Т-34 85
не, такое не годится, никто на нём не будет писать. Да и я однозначно не потяну это реализовывать. CoW... Ну, или с++23 допилят, как говорит @AlexFails. Но мне бы ещё хотелось упростить семантику,  не потеряв достоинства плюсов
Кажется, Вы не видите противоречий в том, чего хотите. 😉
источник

AZ

Alexander Zaitsev in Compiler Development
Т-34 85
не, такое не годится, никто на нём не будет писать. Да и я однозначно не потяну это реализовывать. CoW... Ну, или с++23 допилят, как говорит @AlexFails. Но мне бы ещё хотелось упростить семантику,  не потеряв достоинства плюсов
С++23 не будет ничего гарантировать про lifetimes на уровне Rust. То, что они пытаются сделать, смотрите в флаге -Wlifetime
источник