Size: a a a

2021 February 19

a

arikai in pro.elixir
Denis Fakhrtdinov
А как вы макросы в репле включать будете?
Причём здесь макросы?
источник

DF

Denis Fakhrtdinov in pro.elixir
Притом, что они тоже compile-time.
источник

DF

Denis Fakhrtdinov in pro.elixir
Как и рекорды.
источник

DF

Denis Fakhrtdinov in pro.elixir
Впрочем, есть возможность в репле включить рекорды.
источник

a

arikai in pro.elixir
Евгений
Зачем нужно делать структуры совместимыми с рекордами? Сейчас же они не совместимы и всем пофиг.
Совместимость предоставили с модулем Record. Только рекордов не хватило для дополнительных фич
источник

IK

Ihor Katkov in pro.elixir
Denis Fakhrtdinov
А в какой версии это свершилось, не в курсе?..
В 1.10 вроде бы
источник

DF

Denis Fakhrtdinov in pro.elixir
Вот тут про рекорды много написано.
https://erlang.org/doc/man/shell.html
источник

a

arikai in pro.elixir
Я знаю, что пользоваться ими можно. Вопрос, насколько это болезненно.
источник

Е

Евгений in pro.elixir
arikai
Совместимость предоставили с модулем Record. Только рекордов не хватило для дополнительных фич
Изначальный вопрос об эликсировских структурах, которые внутри представлены как кортежи. Рекорды тут в общем мимо.
источник

DF

Denis Fakhrtdinov in pro.elixir
Теоретически ничего не мешало бы добавить тот же слой консолидации рекордов в компайл-тайме и накрутить на них протоколы. Но там возникает проблема клешей имен рекордов.
источник

a

arikai in pro.elixir
Евгений
Изначальный вопрос об эликсировских структурах, которые внутри представлены как кортежи. Рекорды тут в общем мимо.
Который именно вопрос?
Всю дискуссию вижу только по поводу рекордов и того, что struct не на них
источник

a

arikai in pro.elixir
Denis Fakhrtdinov
Теоретически ничего не мешало бы добавить тот же слой консолидации рекордов в компайл-тайме и накрутить на них протоколы. Но там возникает проблема клешей имен рекордов.
Да, матчить по элементу тупла – такая себе затея
источник

DF

Denis Fakhrtdinov in pro.elixir
Это ещё почему?
источник

a

arikai in pro.elixir
Имею в виду, что туплы используются как минимум для ok/error. Соответственно, делать диспатчинг struct на основе первого элемента тупла – плохая идея.
источник

a

arikai in pro.elixir
О чём и говорится в посте выше
источник

Е

Евгений in pro.elixir
arikai
Который именно вопрос?
Всю дискуссию вижу только по поводу рекордов и того, что struct не на них
Началось с моей фразы:

Структуры, по-хорошему, должны были быть кортежами, как Record
источник

a

arikai in pro.elixir
Структуры = struct?
источник

DF

Denis Fakhrtdinov in pro.elixir
arikai
Имею в виду, что туплы используются как минимум для ok/error. Соответственно, делать диспатчинг struct на основе первого элемента тупла – плохая идея.
Не вижу в этом проблемы вообще.
источник

DF

Denis Fakhrtdinov in pro.elixir
Эрланг-код как-то работает с рекордами и {ok, Ret} | {error, Reason} и всё в порядке.
источник

a

arikai in pro.elixir
Denis Fakhrtdinov
Не вижу в этом проблемы вообще.
кмк, ещё более ногоостреливательное поведение, чем дефолтный диспатчер Enumerable для функций с арностью 2
источник