Size: a a a

2020 December 30

OB

Oleg B in dlang.ru
т.е. уже динамически типизируемый язык
источник

DH

Dark Hole in dlang.ru
Oleg B
да и с простыми типами тоже, допустим куда ты положишь "всё что угодно" (тип в рт определяется)? динамически на стеке определять сколько надо? как ты потом будешь проверять использование такой переменной (можно ли её складывать, конкатенировать)? нужна будет информация о типе в рт уже после создания переменной, следовательно и проверки дальше по коду будут в рт
Ненене
источник

DH

Dark Hole in dlang.ru
Это решается тем, что тип к переменной привязан
источник

DH

Dark Hole in dlang.ru
Создаёшь и кастишь к нужному
источник

DH

Dark Hole in dlang.ru
А если хочешь переменную неизвестного типа объявить — то да, такое не прокатит
источник

DH

Dark Hole in dlang.ru
Но это см. аргумент про то, что кт функции — не шаблоны
источник

OB

Oleg B in dlang.ru
Dark Hole
Создаёшь и кастишь к нужному
ну так есть void*, для таких извращенцев))
источник

DH

Dark Hole in dlang.ru
Oleg B
ну так есть void*, для таких извращенцев))
Всё равно придется кастить)
источник

OB

Oleg B in dlang.ru
Dark Hole
Всё равно придется кастить)
не, я к тому что если ты кастить собрался (во время каста указывать конкретный тип), то уже есть это решение
источник

DH

Dark Hole in dlang.ru
Oleg B
не, я к тому что если ты кастить собрался (во время каста указывать конкретный тип), то уже есть это решение
Аа, да, но структуры так не создашь на стеке. Или создашь?
источник

OB

Oleg B in dlang.ru
Dark Hole
Аа, да, но структуры так не создашь на стеке. Или создашь?
alloca кажется на стеке выделяет память
источник

OB

Oleg B in dlang.ru
не пользовался ни разу, но где-то видел
источник

OB

Oleg B in dlang.ru
да и чем структуры в этом плане особены?
источник

OB

Oleg B in dlang.ru
Oleg B
alloca кажется на стеке выделяет память
источник

OB

Oleg B in dlang.ru
Oleg B
да и чем структуры в этом плане особены?
у них есть размер, смещение полей, размер каждого пола
источник

N

NC in dlang.ru
Oleg B
я тут не понял мысль: если в языке будет возможность оперировать типами как данными как это будет ложиться на рантайм? получиться что это нельзя будет использовать в рт и это как раз и будет разделение языка на 2 части ещё сильней
Синтаксис один и выполнить в рантайме можно будет функцию, но ничего полезного она не принесёт, так как места, куда можно тип вставить определены как только компайл тайм.
источник

OB

Oleg B in dlang.ru
NC
Синтаксис один и выполнить в рантайме можно будет функцию, но ничего полезного она не принесёт, так как места, куда можно тип вставить определены как только компайл тайм.
ну так я про это же
источник

OB

Oleg B in dlang.ru
получается тебе нужно 'холостое' (для рантайма) подмножество языка?
источник

N

NC in dlang.ru
Так это будет удобнее как раз потому, что можно будет локальный стейт использовать для вычисления типов, сейчас я делаю это через дополнительные аккумуляторы в шаблонах.
источник

N

NC in dlang.ru
Oleg B
а можно ещё пример, зачем оно нужно?
Пример, пользователь задаёт в компайл тайме список функций, которые берут кусочки общего стейта, надо вычислить граф вычислений с максимальной параллелзиацией, предполагая, что функции, что берут разные куски стейта, могут выполняться параллельно.
источник