Size: a a a

2021 May 03

Т8

Т-34 85 in dlang.ru
Да так, увидел Дмитрия в компиляторном чате, там обсуждали ленивость

Или ты про вообще? Ну, D прикольный язык так-то
источник

МВ

Макс Воробьев... in dlang.ru
gc уже выпилили)
источник

МВ

Макс Воробьев... in dlang.ru
а не. еще что-то осталось
источник

МВ

Макс Воробьев... in dlang.ru
источник

Т8

Т-34 85 in dlang.ru
А что за статичнская интроспекция, что она позволяет сделать сверх того, что кресты могут?
источник

МВ

Макс Воробьев... in dlang.ru
видимо uda и рефлексия
источник

МВ

Макс Воробьев... in dlang.ru
много чего прикольного
источник

Т8

Т-34 85 in dlang.ru
А примерчик можно со сиатической интроспекцией?
источник

МВ

Макс Воробьев... in dlang.ru
источник

МВ

Макс Воробьев... in dlang.ru
источник

МВ

Макс Воробьев... in dlang.ru
ну или вот сравнение использования в godot
источник

МВ

Макс Воробьев... in dlang.ru
источник

DP

Dmitry Popov in dlang.ru
Вот тут пример ближе к нашей практике: https://thedeemon.livejournal.com/125787.html
источник

DP

Dmitry Popov in dlang.ru
Когда есть какие-то классы/структуры и функции из имеющихся библиотек и нужно уметь их вызвать из нашего интерпретатора, для этого надо сгенерить код, конвертирующий данные из представления в интерпретаторе в конкретные нативные типы, что те функции принимают, и обратно. Такой FFI.
источник

DP

Dmitry Popov in dlang.ru
Все это делается автоматически, через рефлексию в комайл-тайме.
источник

DP

Dmitry Popov in dlang.ru
Как минимум нужно уметь foreach по полям переданного типа, узнавать свойства этих полей (имя, тип, подробности), через static if выбирать что с ними делать.
источник

КП

Константин Пунш... in dlang.ru
alias GLProgram = ReferceCountT!(GLuint, q{
 import bindbc.opengl;
 *Twhat = glCreateProgram();
}, q{
 import bindbc.opengl;
 glDeleteProgram(*Twhat);
});
Во прикол
источник

DH

Dark Hole in dlang.ru
М?
источник

EP

Egor Pugin in dlang.ru
удалено
источник

EP

Egor Pugin in dlang.ru
вторая попытка -
https://godbolt.org/z/86b6Y7Whb
источник