Size: a a a

2020 May 21

p

polunin.ai in rust_offtopic
Т-34 85
И всё это жутко тормозит
Ну , думаю можно так ограничить завтипы чтобы их можно было zero cost оптимизировать
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
И всё это жутко тормозит
Нет, потому что лишь верификация делается на языке с зав типами, код на чём угодно
источник

p

polunin.ai in rust_offtopic
Doge Shibu
Нет, потому что лишь верификация делается на языке с зав типами, код на чём угодно
Не понял предложения
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Нет, потому что лишь верификация делается на языке с зав типами, код на чём угодно
А где гарантия, что перенесён код на конечный язык корректно?
источник

G

Gymmasssorla in rust_offtopic
Т-34 85
Завтиповые микросервисы, завтиповое ядро ОС...
Второе есть уже
источник

DF

Dollar Føølish in rust_offtopic
Хде?
источник

Т8

Т-34 85 in rust_offtopic
Gymmasssorla
Второе есть уже
И это реально юзают?
источник

G

Gymmasssorla in rust_offtopic
Т-34 85
И это реально юзают?
Конечно нет. Это исследовательский проект.
источник

G

Gymmasssorla in rust_offtopic
Т-34 85
А где гарантия, что перенесён код на конечный язык корректно?
Да, где???
источник

Т8

Т-34 85 in rust_offtopic
Gymmasssorla
Конечно нет. Это исследовательский проект.
Ну, по приколу можно что угодно соорудить
источник

G

Gymmasssorla in rust_offtopic
Т-34 85
Ну, по приколу можно что угодно соорудить
источник

G

Gymmasssorla in rust_offtopic
Анонимные макросы реализованы! Использование:


EXEC_MLAMBDA(MLAMBDA(ARG + ARG), 1)


Выдаёт 1 + 1, как и ожидалось.

Теперь рассмотрим как это работает. MLAMBDA(ARG + ARG) раскрывается в:

((_0, _1 ),(poica_pri_arg, _0, _1),(_0, _1),( + ),(poica_pri_arg, _0, _1),(_0, _1),( _0, _1))


Затем макрос EXEC_MLAMBDA к каждый элемент списка применяет к другому макросу, перегруженному по кол-ву аргументов. Так происходит подстановка:

(_0, _1) - <пробел>
(poica_pri_arg, _0, _1) - раскрывается во второй аргумент EXEC_MLAMBDA
(X) - раскрывается в X

Говоря словами, лямбда-макрос - это просто список, ненужные элементы которого игнорируются, части тела остаются неизменными, а аргументы подставляются.
источник

S

Sooqa in rust_offtopic
polunin.ai
Ну , думаю можно так ограничить завтипы чтобы их можно было zero cost оптимизировать
в общем случае невозможно вроде
источник

p

polunin.ai in rust_offtopic
Sooqa
в общем случае невозможно вроде
Хз я пока не изучалтот вопрос
источник

G

Gymmasssorla in rust_offtopic
Sooqa
в общем случае невозможно вроде
Си тоже нельзя скомпилировать)
источник

p

polunin.ai in rust_offtopic
Если есть чё почитать, почитаю с удовольствием
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
А где гарантия, что перенесён код на конечный язык корректно?
Там, насколько я знаю, используются плагины, которые автоматически переносят спецификации, которые необходимо доказать, из си в утверждения на языке с зав типами
источник

S

Sooqa in rust_offtopic
Gymmasssorla
Си тоже нельзя скомпилировать)
эмм аа что
источник

G

Gymmasssorla in rust_offtopic
Sooqa
эмм аа что
Потому что макросы Тьюринг-полные
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
Ну , думаю можно так ограничить завтипы чтобы их можно было zero cost оптимизировать
Мне кажется, что даже если так, писать код на таком языке будет некому. Слишком сложно!
источник