Size: a a a

2021 February 28

AN

Alexey Novoselov in pro.elixir
Dmitry Russ (Aleksandrov)
Да, но это всё compile мог бы сделать и без require 🙂
ну может в elixir 2.0 и будет так)
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Я то говорю, что раньше у этого технические лимитации существовали, теперь они ушли а explicit-ность осталась. И может указывать explicit-но такую вещь и не так уж и плохо и возможно в 2.0 ничего не изменится (если 2.0 вообще будет когда-то) уже по идеологическим причинам. Но с технической стороны require выглядит как технический no-op
источник

M

MrFlorius in pro.elixir
Lama Lover
А какую задачу ты пытаешься решить?
Я хочу сделать бибилиотечку для валидации сигнатур файлов, и чтобы потом тот кто ей будет пользоваться мог сам добавить модулль для нужного ему типа файла
источник

AN

Alexey Novoselov in pro.elixir
MrFlorius
Я хочу сделать бибилиотечку для валидации сигнатур файлов, и чтобы потом тот кто ей будет пользоваться мог сам добавить модулль для нужного ему типа файла
пусть бихейвор реализует и use твою библиотечку, в а ты из use сохраняешь где-нибудь тип и путь к модулю. Зависимости в любом случае компилируются раньше основного проекта, ты не сможешь увидеть скомпилированные модули
источник

AN

Alexey Novoselov in pro.elixir
типа Application.put_env(app, Lib, [{type, Module.Name}] ++ Application.get_env(app, Lib)) или где как удобнее
источник

M

MrFlorius in pro.elixir
ага, попробую
источник

M

MrFlorius in pro.elixir
Спасибо!
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Протоколы являются хачеспособом реализовывать все это
источник

M

MrFlorius in pro.elixir
Но они только для структур
источник

ŹR

Źmićer Rubinštejn in pro.elixir
внутри макроса using можно сделать псевдоструктуру и определить на неё протокол
источник

M

MrFlorius in pro.elixir
Псевдоструктуру?
источник

LL

Lama Lover in pro.elixir
MrFlorius
Псевдоструктуру?
defmacro __using__(opts \\ []) do
 quote do
   defstruct []
 end
end
источник

M

MrFlorius in pro.elixir
А, я уж подумал что есть какие-то отдельные псевдоструктуры
источник
2021 March 01

AB

Alex Bubnov in pro.elixir
я тут развлекаюсь с кэшированием в CI, и у меня вопрос - от чего взять хэш в ключ кэширования, чтобы минимизировать вероятность перекомпиляции зависимостей?
я пока что думаю, что достаточно config/*.exs + mix.lock, но меня терзают сомнения насчет mix.exs + apps/*/mix.exs.

можно ли что-то поменять в mix.exs, что повлечет необходимость перекомпиляции зависимостей?
источник

V

V in pro.elixir
Необходимость перекомпиляции зависимости зависит от кода зависимости и её зависимостей, а не от конфига или микслок
источник

V

V in pro.elixir
Т.е. от содержимого deps/your_dep и deps/dep_of_your_dep
источник

ML

Maksim Lapshin in pro.elixir
Alex Bubnov
я тут развлекаюсь с кэшированием в CI, и у меня вопрос - от чего взять хэш в ключ кэширования, чтобы минимизировать вероятность перекомпиляции зависимостей?
я пока что думаю, что достаточно config/*.exs + mix.lock, но меня терзают сомнения насчет mix.exs + apps/*/mix.exs.

можно ли что-то поменять в mix.exs, что повлечет необходимость перекомпиляции зависимостей?
Версия компилятора, опции компиляци конечно
источник

LL

Lama Lover in pro.elixir
V
Т.е. от содержимого deps/your_dep и deps/dep_of_your_dep
Чтобы получить deps нужно сделать mix deps.get, а этот шаг хорошо бы кэшировать тоже
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
я тут развлекаюсь с кэшированием в CI, и у меня вопрос - от чего взять хэш в ключ кэширования, чтобы минимизировать вероятность перекомпиляции зависимостей?
я пока что думаю, что достаточно config/*.exs + mix.lock, но меня терзают сомнения насчет mix.exs + apps/*/mix.exs.

можно ли что-то поменять в mix.exs, что повлечет необходимость перекомпиляции зависимостей?
Я использовать первый твой вариант в CI
В крайнем случае, если упадёт тест, можно запустить CI без кэша, но такое врятли случится
источник

V

V in pro.elixir
Котаны, можно ли научить mix format форматировать часть файлов проекта иначе?
источник