Size: a a a

2020 June 24

EK

Evgeny Khramtsov in ErlangRus
ну ему просто нравится метапрограммирование :)
источник

DF

Denis Fakhrtdinov in ErlangRus
Мир, дружба, spawn_link.
источник

V

Vasilii Demidenok in ErlangRus
spawn_monitor :P
источник

EK

Evgeny Khramtsov in ErlangRus
Lama Lover
Ты прав, признаю. Макросы это просто сахар, который ещё и усложняет читаемость кода
усложняют, я бы не хотел прийти в проект где всё на своём DSL написано
источник

EK

Evgeny Khramtsov in ErlangRus
Evgeny Khramtsov
усложняют, я бы не хотел прийти в проект где всё на своём DSL написано
с метапрограммированием то же самое, в хаскеле это проходили, где каждый пишет на своём (естественно не документированном) диалекте
источник

LL

Lama Lover in ErlangRus
Evgeny Khramtsov
с метапрограммированием то же самое, в хаскеле это проходили, где каждый пишет на своём (естественно не документированном) диалекте
Метапрограммирование в elixir больше похоже на лисповое, чем на haskell-евое. У меня есть хорошее выступление, где я (очень плохо и поверхностно) рассказываю про специфику elixir макросов
источник

EK

Evgeny Khramtsov in ErlangRus
ок, но это не для меня, я прекрасно знаю как какое метапрограммирование выглядит, меня всё равно не привлекает :) кому-то нравится, в каких-то языках это прям парадигма, ну ладно
источник

ML

Maksim Lapshin in ErlangRus
Падажжите. Метапрограммирование, оно же кодогенерация очень полезно или даже нужно в случае трансляции декларативного представления в код.


Например из idl или какой-нибудь спеки в код, который все прочтет.

Тот же asn1 например
источник

EK

Evgeny Khramtsov in ErlangRus
да
источник

EK

Evgeny Khramtsov in ErlangRus
хотя это всё таки разные вещи как по мне, кодогенерация для меня ок
источник

EK

Evgeny Khramtsov in ErlangRus
ну и ты не будешь вставлять ASN.1 схему внутрь кода :) вот тогда это будет метапрограммирование :)
источник

LL

Lama Lover in ErlangRus
Maksim Lapshin
Падажжите. Метапрограммирование, оно же кодогенерация очень полезно или даже нужно в случае трансляции декларативного представления в код.


Например из idl или какой-нибудь спеки в код, который все прочтет.

Тот же asn1 например
Не совсем. Кодогенерация — это один из вариантов метапрограммирования. А так, да, кодогенерация на elixir очень удобная. Например, эликсировский thrift в 20 раз получается быстрее, чем эрланговский
источник

EK

Evgeny Khramtsov in ErlangRus
прям в 20, ну криворучки какие-то написали наверное кодогенератор thrift'а в эрланге
источник

LL

Lama Lover in ErlangRus
(я это сам не замерял, но видел бенчи в доке elixir-thrift)
источник

LL

Lama Lover in ErlangRus
Evgeny Khramtsov
прям в 20, ну криворучки какие-то написали наверное кодогенератор thrift'а в эрланге
Apache )))
источник

AB

Alex Bubnov in ErlangRus
Evgeny Khramtsov
прям в 20, ну криворучки какие-то написали наверное кодогенератор thrift'а в эрланге
а все просто - в эрланге кодогенерится описание "что читать/писать", которое потом обрабатывается саппорт-либой. в эликсире - сразу генерится код чтения/записи.
источник

AB

Alex Bubnov in ErlangRus
потому и разница
источник

EK

Evgeny Khramtsov in ErlangRus
кто-то заставляет юзать тормозную либу? или я чего-то не понял
источник

LL

Lama Lover in ErlangRus
Alex Bubnov
потому и разница
И поэтому там до сих пор нет поддержки sasl (
источник

ИИ

Иванов Иванов... in ErlangRus
Evgeny Khramtsov
так с моей точки зрения всё что есть в elixir есть и в erlang, ну да, есть то, что мне нафиг не нужно (я не разрабатываю web и не люблю метапрограммирование)
неправда. в ерланг файл должен называться также как модуль и нет ребиндинга переменных
источник