Size: a a a

2020 June 09

G

Gymmasssorla in rust_offtopic
Но это мне не интересно
источник

ГС

Георгий Седометов... in rust_offtopic
Stanislav Popov
про фп я до сих пор не понимаю. когда я в расте например делаю ветвления через мапы с запрещением early return я вижу конкретные преимущества код становится менее неопределённый например. а то что делает просветленный фпшник и какие цели преследует совершенно непонятно
лучше говорить не про фп вообще, а про конкретные фичи, которые принято с ним ассоциировать. Например, иммутабельность позволяет избегать проблем с неожиданным изменением состояния, хкт и функции высшего порядка позволяют выражать алгоритмы более абстрактно (и поэтому более переиспользуемо), ссыдочная прозрачность упрощает рефакторинг, и так далее
источник

G

Gymmasssorla in rust_offtopic
Вот я хячю с произведением метапрограммировать
источник

G

Gymmasssorla in rust_offtopic
PRODUCT(
   FIELD(a OF int)
   FIELD(b OF float)
);

#define MACRO(val) _Generic((val), ...)

ITER_FIELDS(product, MACRO);
источник

G

Gymmasssorla in rust_offtopic
Но пока с препроцессором сражаюсь. Concatenating blablabla does not give a valid preprocessor token...
источник

SP

Stanislav Popov in rust_offtopic
раст меня извратил. я не знаю правильно это или нет на жс

 swap_points() {
   const tmp = this.end;
   this.end = this.start;
   this.start = tmp;
 }
источник

G

Gymmasssorla in rust_offtopic
Когда у твоего бедного язычока нет record syntax
источник

G

Gymmasssorla in rust_offtopic
Кстати, в Idris синтаксис записей ещё лучше, чем в Rust
источник

G

Gymmasssorla in rust_offtopic
Кстати, точно. Синтаксис записей можно сделать в Си
источник

G

Gymmasssorla in rust_offtopic
Спасибо
источник

SP

Stanislav Popov in rust_offtopic
да причем тут рекорд синтакс. я просто воспринимаю что tmp перезапишется когда мы перезаписываем end
источник

SP

Stanislav Popov in rust_offtopic
или ты о своем
источник

G

Gymmasssorla in rust_offtopic
Переслано от Gymmasssorla
источник

G

Gymmasssorla in rust_offtopic
Переслано от Gymmasssorla
Вывод:

tuple._0 = 151
tuple._1 = 0.252500
tuple._2 = Black magic
tuple._3 = 14.141100
tuple._4 = 64
tuple._5 = 222
источник

G

Gymmasssorla in rust_offtopic
Вот как в Boost/Hana итерация по полям структуры
источник

G

Gymmasssorla in rust_offtopic
Может потом сериализацию сделать. serde_json 4 C 🤡🤡🤡
источник

G

Gymmasssorla in rust_offtopic
Не вижу преград!
источник

SP

Stanislav Popov in rust_offtopic
что ты вообще творишь наркоман
источник

G

Gymmasssorla in rust_offtopic
Boost/PP и вперёд
источник

G

Gymmasssorla in rust_offtopic
Я раньше свой фреймворк для метапрограммирования макросами писал. Потом нашёл Boost/PP - лик бога
источник