Использование parse_transform
Хабы: Erlang/OTPDisclaimer: Описываемый инструмент имеет спорную репутацию. Я не призываю использовать его где ни попадя, только знакомлю с используемыми понятиями, дабы уменьшить некоторым трепет перед технологией.
Что такое parse_transform
parse_transform — механизм изменения AST перед компиляцией. Предназначен для изменения значения конструкций (семантики), не выходя за синтаксис Эрланга.
К сожалению, в Сети мало информации про это, что делает порог вхождения весьма высоким для не-гуру эрланга.
Что мы будем делать
В рамках данной статьи я немного рассказажу про AST эрланга, приведу пример простых трансформаций, а так же покажу процесс написания parse_transform для создания stateless gen_server-а (задача имеет не особо много смысла, но в качестве примера использования сгодится), а в конце дам ссылку на набор начинающего транформатора.
Читать дальше →
Полный текст статьи читайте на Habrahabr.ru