Как стать автором
Обновить
24
0
Яков @egobrain

Программист

Отправить сообщение

Как устроены протоколы в Elixir

Время на прочтение8 мин
Количество просмотров6.4K

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


Elixir – это функциональный язык программирования общего назначения, который работает на виртуальной машине BeamVM. От Erlang отличается синтаксисом, более похожим на Ruby, и расширенными возможностями метапрограммирования.


В Elixir также существует замечательный механизм для полиморфизма под названием Protocols, но в Erlang нет синтаксической конструкции для динамической диспетчеризации, которая необходима для их реализации.


Тогда как же они устроены внутри? Какой overhead дает код с использованием протоколов? Попробуем разобраться.


Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии12

Вызов функции через кортеж

Время на прочтение2 мин
Количество просмотров2.6K
Не так давно наткнулся на одну интересную возможность в Erlang. Если вместо названия модуля при вызове функции передать кортеж, где первый элемент — название модуля, то будет вызвана функция
арностью на единицу больше вызываемой и последним аргументом будет тот самый кортеж.

Пример:
-module(my_module).

-export([test/2]).

test(Arg1,{?MODULE,Arg2}) ->
  io:format("Arg1:~p~nArg2:~p~n",[Arg1,Arg2]).

Можно вызвать как:
my_module:test(1,{my_module,2}).
или так
{my_module,2}:test(1).

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии19

Erlang. Рекомендации к оформлению кода

Время на прочтение19 мин
Количество просмотров5.2K
Не так давно, в команду пришлось приглашать нового программиста и знакомить его с Erlang. Для ускорения процесса обучения я решил перевести уже давно лежавший у меня материал Erlang Programming Rules and Conventions. Чем в принципе и хочу поделиться с хабровчанами. Надеюсь что он будет полезен тем, кто собирается изучать или уже использует этот замечательный язык. Сразу скажу, что перевод вольный, так что не критикуйте сильно.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Липецк, Липецкая обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность