Size: a a a

2020 July 24

IZ

Ilia Zviagin in pro.cxx
Apache DOG™
Тут мне подкинули один интересный вопрос, что завтипы(тип зависящий от значения) в С++ невозможны в принципе, однако, сдаётся мне что принципиальная возможность сделать завтип всё же есть, ну хотя бы например такой: forall i: usigned int, int[i], однако чтобы заставить это работать, каждый раз нужно перекомпилировать исходный код с "завтипами" и подсоединять к работающему приложению. Куда смотреть чтобы такое наколдовать?
Тип зависящий от значения в С++ есть, это шаблонный класс (или тип) параметризированный шаблонным параметром-значением.
источник

S

Spoonson in pro.cxx
Apache DOG™
И туда можно во время исполнения засунуть переменную?
во время исполнения не выйдет, только времени компиляции, да.
источник

IZ

Ilia Zviagin in pro.cxx
Apache DOG™
И туда можно во время исполнения засунуть переменную?
Нельзя
источник

IZ

Ilia Zviagin in pro.cxx
Apache DOG™
И туда можно во время исполнения засунуть переменную?
Какого фига это надо делать во время работы приложения?
Это как в РБД создавать таблицы новые во время работы приложения, на каждую накладную, скажем.
Это идиотизм.
источник

AD

Apache DOG™ in pro.cxx
Ilia Zviagin
Какого фига это надо делать во время работы приложения?
Это как в РБД создавать таблицы новые во время работы приложения, на каждую накладную, скажем.
Это идиотизм.
Для практических целей не применимо, только для фриков которые этими завтипами пишут доказательства
источник

ПК

Побитый Кирпич... in pro.cxx
Apache DOG™
Тут мне подкинули один интересный вопрос, что завтипы(тип зависящий от значения) в С++ невозможны в принципе, однако, сдаётся мне что принципиальная возможность сделать завтип всё же есть, ну хотя бы например такой: forall i: usigned int, int[i], однако чтобы заставить это работать, каждый раз нужно перекомпилировать исходный код с "завтипами" и подсоединять к работающему приложению. Куда смотреть чтобы такое наколдовать?
Используя std::any можно наколдовать любую динамическую скриптуху. Думаю и то что ты хочешь тоже можно
источник

IZ

Ilia Zviagin in pro.cxx
Apache DOG™
Для практических целей не применимо, только для фриков которые этими завтипами пишут доказательства
Тогда зачем это обсуждение вопроса типа "сколько ангелов поместится на кончике иглы"?
источник

AD

Apache DOG™ in pro.cxx
Ilia Zviagin
Тогда зачем это обсуждение вопроса типа "сколько ангелов поместится на кончике иглы"?
Интересует принципиальная возможность
источник

AS

Anatoly Shirokov in pro.cxx
Apache DOG™
Тут мне подкинули один интересный вопрос, что завтипы(тип зависящий от значения) в С++ невозможны в принципе, однако, сдаётся мне что принципиальная возможность сделать завтип всё же есть, ну хотя бы например такой: forall i: usigned int, int[i], однако чтобы заставить это работать, каждый раз нужно перекомпилировать исходный код с "завтипами" и подсоединять к работающему приложению. Куда смотреть чтобы такое наколдовать?
вчера @LL1_N_LL1_K_A приводил ссылку на clang jit https://arxiv.org/pdf/1904.08555.pdf
источник

IZ

Ilia Zviagin in pro.cxx
Apache DOG™
Интересует принципиальная возможность
С++ -- машинный язык. В процессоре (скажем, интел) ты можешь иметь такой тип данных?
источник

AD

Apache DOG™ in pro.cxx
Anatoly Shirokov
вчера @LL1_N_LL1_K_A приводил ссылку на clang jit https://arxiv.org/pdf/1904.08555.pdf
О, это возможно что надо
источник

AT

Andrew Titov in pro.cxx
Apache DOG™
Для практических целей не применимо, только для фриков которые этими завтипами пишут доказательства
Эти доказательства проверяются на этапе компиляции?
источник

AD

Apache DOG™ in pro.cxx
Andrew Titov
Эти доказательства проверяются на этапе компиляции?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in pro.cxx
Anatoly Shirokov
вчера @LL1_N_LL1_K_A приводил ссылку на clang jit https://arxiv.org/pdf/1904.08555.pdf
Там даже пропозал есть. Только хз что с ним стало
источник

IZ

Ilia Zviagin in pro.cxx
Andrew Titov
Эти доказательства проверяются на этапе компиляции?
Он на что-то типа OCaml или Coq намекает.
источник

AT

Andrew Titov in pro.cxx
Тогда зависимые типы есть, как уже сказал @MasterZiv.
источник

AD

Apache DOG™ in pro.cxx
Частный случай есть, понял, спасибо
источник

AT

Andrew Titov in pro.cxx
Ilia Zviagin
Он на что-то типа OCaml или Coq намекает.
Это понятно.
источник

AT

Andrew Titov in pro.cxx
Но ведь в том же Coq доказательство проверяется при "компиляции".
источник

RR

Roman Rubanenko in pro.cxx
Ilia Zviagin
С++ -- машинный язык. В процессоре (скажем, интел) ты можешь иметь такой тип данных?
А std::variant<float, vector<int>> можешь?)
источник