Size: a a a

2020 June 24

LL

Lama Lover in ErlangRus
У меня есть выступление на RU |> Elixir |> Online где я показываю различные DSL и макросистемы. Там я показываю, какие макросы бесполезные для сахара, а какие реально облегчают жизнь
https://www.youtube.com/watch?v=X_3x09xcP1o
источник

LL

Lama Lover in ErlangRus
Кстати, скоро будет ещё один митап, приходите
источник

DF

Denis Fakhrtdinov in ErlangRus
Lama Lover
Оно не так работает
Почему вот этот retry нельзя написать функцией вместо макросов?
https://github.com/nothingelsematters7/ElixirRetry/blob/master/lib/retry.ex
источник

DF

Denis Fakhrtdinov in ErlangRus
Это же элементарная функция.
источник

LL

Lama Lover in ErlangRus
Denis Fakhrtdinov
Это же элементарная функция.
Спроси у автора, я-то тут причём?
источник

DF

Denis Fakhrtdinov in ErlangRus
Ну я тебе говорю, что оно вот так используется, ты говоришь что нет.
источник

LL

Lama Lover in ErlangRus
Denis Fakhrtdinov
Ну я тебе говорю, что оно вот так используется, ты говоришь что нет.
Кто-то там написал какую-то странную либу. Причём тут я и макросы?

Если в языке можно написать 1 / 0 и получить ошибку, то это будет плохо?

С такими рассуждениями о невыразимых ошибках вам в @haskellru
источник

DF

Denis Fakhrtdinov in ErlangRus
Ничего не понимаю.
источник

MK

Matwey Kornilov in ErlangRus
Господа, а при каких условиях terminate у gen_server гарантированно позовут?
источник

DF

Denis Fakhrtdinov in ErlangRus
Это одна из моих главных претензий к эликсиру: макросы слишком просты, и люди макросами начинают лепить ненужную фигню.
источник

DF

Denis Fakhrtdinov in ErlangRus
Matwey Kornilov
Господа, а при каких условиях terminate у gen_server гарантированно позовут?
Если ген_сервер завершается умышленно, i.e. через {stop, ...
источник

LL

Lama Lover in ErlangRus
Denis Fakhrtdinov
Это одна из моих главных претензий к эликсиру: макросы слишком просты, и люди макросами начинают лепить ненужную фигню.
Опять же, в любой парадигме есть свои антипаттерны. Если кто-то пишет плохие вещи, то это его проблема (в случае с макросами в elixir)

Выше я кидал ссылку на выступление, где рассказывал про макросы и как нужно и не нужно их писать
источник

EK

Evgeny Khramtsov in ErlangRus
Matwey Kornilov
Господа, а при каких условиях terminate у gen_server гарантированно позовут?
trap_exit, true надо ставить, чтобы супервизор не прибил при shutdown ещё
источник

V

Vasilii Demidenok in ErlangRus
эмм.. от brutal kill не поможет
источник

LL

Lama Lover in ErlangRus
А так, макросы способны уменьшить количество кода и увеличить скорость работы программы, да и просто разработки
источник

EK

Evgeny Khramtsov in ErlangRus
Vasilii Demidenok
эмм.. от brutal kill не поможет
ну да
источник

EK

Evgeny Khramtsov in ErlangRus
можно забыть про process_flag(trap_exit, true) и удивляться долго почему в terminate не зашло
источник

DF

Denis Fakhrtdinov in ErlangRus
Lama Lover
А так, макросы способны уменьшить количество кода и увеличить скорость работы программы, да и просто разработки
В теории, теория и практика это одно и то же. На практике это не так.
источник

LL

Lama Lover in ErlangRus
Denis Fakhrtdinov
В теории, теория и практика это одно и то же. На практике это не так.
Ты прав, признаю. Макросы это просто сахар, который ещё и усложняет читаемость кода
источник

DF

Denis Fakhrtdinov in ErlangRus
Как будто я лично на тебя наезжаю 🙂
источник