home.social

#elixir_otp — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #elixir_otp, aggregated by home.social.

  1. Попытка имитация расширения модуля Elixir как класса ООП

    1. Мотивация Как я писал в предыдущей статье habr.com/ru/articles/1002748/ при разработке прототипа системы взаимодействующих движков первыми движками оказались тактовые генераторы, задающие время и синхронизацию коллектива движков. Остальные рабочие движки можно было бы стандартно реализовать с помощью нескольких специфических серверов движков, но мне захотелось сделать всё по правилам ООП и испытать выразительную мощь языка Elixir. Т.е. дальнейшую разработку предполагается провести в рамках парадигмы ООП, расширяя модуль «класса» тактовых генераторов. 2. Предварительное исследование В начале поиска решения был расчет на механизм Поведения (behaviour) Elixir. Поэтому более внимательно перечитал учебную литературу, и выяснил, что этот инструмент для схожей, но другой задачи: задание контракта поведения и проверка на этапе компиляции реализации модулем требуемых функций обратного вызова. Ещё я потратил много времени на поиск в Интернете, как коллеги расширяют модули Elixir аля классы ООП и нашел только один источник конференции по этому вопросу [1]. Но я решил вначале самому попробовать пройти путь квеста, чтобы сравнить потом свой результат с чужими. Забегая вперед, могу сказать, что одно решения [1#9] с конференции почти совпало с моим, но там отсутствуют обобщение и выводы, которые я собираюсь вам сообщить в конце. Справка : В статье невольно производится сопоставление ООП и Elixir, из чего можно сделать вывод, что я отношу Elixir к функциональным языкам. Формально это так и есть, но на деле я вслед за ерлангелистом Сашей Юрич [2] расцениваю Elixir преимущественно языком акторов.

    habr.com/ru/articles/1007648/

    #elixirlang #elixir_otp #ооп