Size: a a a

2018 October 18

А

Антон in pro.elixir
пока толко выход через erlport работать с питоновскими апи (
источник

DD

Dude Dudario in pro.elixir
ну чота все грустно
источник

DD

Dude Dudario in pro.elixir
так и останется эликсир нишевым языком для людей, не осиливших эрланг?
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Dude Dudario
так и останется эликсир нишевым языком для людей, не осиливших эрланг?
А чего Erlang осиливать? Вообще-то Elixir сложнее, чем Erlang
источник

DD

Dude Dudario in pro.elixir
Dmitry Russ (Aleksandrov)
А чего Erlang осиливать? Вообще-то Elixir сложнее, чем Erlang
не знаю
источник

DD

Dude Dudario in pro.elixir
просто погромисты на эрланге, которых я почитываю, примерно в таком ключе отзыаются
источник

VP

Vladimir Potapev in pro.elixir
Ну вот и пришло время впервые задать вопрос в чатике. :)
А вопрос такой: как узнать в compile-time, что ты находишься в compile-time? :)
Суть токова: во время генерации AST задаётся некий module attribute, значение которого берётся в compile time. Но! Значение это вычисляется через вызов функции, для которой уже сгенерены в compile-time pre и post обработчики (они сгенерены так, что выполняются перед вызовом функции и после неё), которые могут выполняться только(!) в runtime. =) Хотелось бы какой-нибудь флажок или что-то такое, чтобы не выполнять их, если мы в compile time.
источник

AD

Anastasiya Dyachenko in pro.elixir
а каким образом функция, которая передается в атрибут, будет выполняться в compile time
источник

AD

Anastasiya Dyachenko in pro.elixir
это либо макрос, и тогда нет проблем разделить compile/runtime через quote (https://thepugautomatic.com/2015/10/understanding-elixir-macros/),
либо она выполнится только в runtime
источник

AD

Anastasiya Dyachenko in pro.elixir
попробовала в iex, действительно обычная функция в атрибуте выполняется в compile time, была не права сори)
источник

VP

Vladimir Potapev in pro.elixir
:) Это особенность module attribute - их значение вычисляется строго в compile time. За счёт чего можно получить ускорение работы кода, сделав работу заранее в компайл-тайм.
источник

VP

Vladimir Potapev in pro.elixir
Так-то конечно можно сам Elixir чуток дописать, но вдруг есть какой-то штатный способ. :)
источник

PS

Petr Stepchenko in pro.elixir
Нельзя ли сделать другую функцию без пре/пост обработчиков?
Ифы на компаил и рантайм прям новый круг ада
источник

VP

Vladimir Potapev in pro.elixir
Короч там такой кейс, что pre и post обработчики генерятся автоматически другой библиотекой. :) Cобсно обложить функции такими обработчиками и есть главная задача. =)
источник

VP

Vladimir Potapev in pro.elixir
Т.е. решение в лоб - не использовать атрибуты модуля для таких функций.
источник

VP

Vladimir Potapev in pro.elixir
Но это ж везде править код надо, ходить по файлам... а тут бы так, вжух - и нагенерил.
источник

DD

Dude Dudario in pro.elixir
запахло духом Александреску
источник

DS

Dmitry Shpagin in pro.elixir
Vladimir Potapev
Но это ж везде править код надо, ходить по файлам... а тут бы так, вжух - и нагенерил.
вжух и нагенерил это про руби)
источник

VP

Vladimir Potapev in pro.elixir
Dude Dudario
запахло духом Александреску
дада, шаблонные параметры шаблонов. =)
источник

VP

Vladimir Potapev in pro.elixir
ладно, поколдую ещё. :)
источник