Size: a a a

2020 May 22

EG

Emmanuel Goldstein in rust_offtopic
Stanislav Popov
ну в ней нет никакого смысла
«Есть ли смысл» это бесполезный спор.
источник

SP

Stanislav Popov in rust_offtopic
источник

EG

Emmanuel Goldstein in rust_offtopic
Она корректна. Если бы её можно было определить, это не сломало бы тайпсейфти.
источник

SP

Stanislav Popov in rust_offtopic
Emmanuel Goldstein
«Есть ли смысл» это бесполезный спор.
ну это как сказать я хочу kwargs а статика мне запрещает
источник

DS

Doge Shibu in rust_offtopic
Stanislav Popov
для статики просто нет смысла делать гетерогенный список если ты можешь сделать ему сумтип
Вообще имеет, постоянно юзаю гетерогенные, шейплесс-лайк списки в статике
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Мне ваще не нужен в динамике новый тип, я просто пихаю несколько разных в список и мне зашибись
да динамисты обожают работать с сырыми словарями и списками, давно заметил
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
В статике мне нужно:
1. Объявить сумтип
2. Имплементировать у него дисплей руками
3. Имплементировать у него From<> из каждого типа, если хочешь просто оборачивать, тоже руками
4. Матчить на каждом использовании
есть дерайв для 2-4, а матчить надо только если надо
источник

EG

Emmanuel Goldstein in rust_offtopic
Stanislav Popov
ну это как сказать я хочу kwargs а статика мне запрещает
Я хочу декораторы, кстати. Опиши мне, пожалуйста, вот эту функцию на языке с статической типизацией:
def log_args_and_result(func):
   def wrapped(*args, **kwargs):
       log(args, kwargs)
       res = func(*args, **kwargs)
       log(res)
       return res
   return wrapped
источник

EG

Emmanuel Goldstein in rust_offtopic
Очень часто бывает полезно в дебаге
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
Я хочу декораторы, кстати. Опиши мне, пожалуйста, вот эту функцию на языке с статической типизацией:
def log_args_and_result(func):
   def wrapped(*args, **kwargs):
       log(args, kwargs)
       res = func(*args, **kwargs)
       log(res)
       return res
   return wrapped
А, и без макросов, пожалуйста, с макросами и я могу
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
Я хочу декораторы, кстати. Опиши мне, пожалуйста, вот эту функцию на языке с статической типизацией:
def log_args_and_result(func):
   def wrapped(*args, **kwargs):
       log(args, kwargs)
       res = func(*args, **kwargs)
       log(res)
       return res
   return wrapped
Инстанс тайпкласса под каждое число аргументов и погнали
источник

SP

Stanislav Popov in rust_offtopic
Emmanuel Goldstein
Я хочу декораторы, кстати. Опиши мне, пожалуйста, вот эту функцию на языке с статической типизацией:
def log_args_and_result(func):
   def wrapped(*args, **kwargs):
       log(args, kwargs)
       res = func(*args, **kwargs)
       log(res)
       return res
   return wrapped
ну ты будешь иметь её но она будет мусорная не искаться по коду, не тайпчекаться
источник

EG

Emmanuel Goldstein in rust_offtopic
Doge Shibu
Инстанс тайпкласса под каждое число аргументов и погнали
Руками писать?
источник

EG

Emmanuel Goldstein in rust_offtopic
Офигенно удобно
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
Руками писать?
Да, но это один раз кем-то в либе написано
источник

EG

Emmanuel Goldstein in rust_offtopic
Stanislav Popov
ну ты будешь иметь её но она будет мусорная не искаться по коду, не тайпчекаться
Да мне похуй на тайпчек
Я эту функцию использую один раз и забуду, это эксперимент, код на выброс
источник

EG

Emmanuel Goldstein in rust_offtopic
Doge Shibu
Да, но это один раз кем-то в либе написано
Или не написано. Покажи мне такую либу под Rust.
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Да мне похуй на тайпчек
Я эту функцию использую один раз и забуду, это эксперимент, код на выброс
пока ты напишешь и отдебажишь декоратор с *args пройдет вечность
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
пока ты напишешь и отдебажишь декоратор с *args пройдет вечность
Я уже написал этот чёртов декоратор, он передаёт в функцию в точности то же самое, что в него прилетело.
источник

EG

Emmanuel Goldstein in rust_offtopic
Это тоже корректная операция, тут не требовалась бы динамика, если бы тайпчекеры были умнее.
источник