Я бродил по сети в поисках различных методов набора текста на программах Erlang, и, кажется, их немного ... хотя найти надежный источник информации довольно сложно
а именно я ищу практическую информацию о:
1. -specs
- этот выглядит довольно привлекательно. в некоторых местах упоминается, что функции, с которыми связана директива -specs, проверяются во время компиляции (для правильного использования типов) ... Кажется, я не могу найти больше информации о том, как его использовать (какой инструмент использовать - Dialyzer, TypeR?). Я действительно хочу создать небольшой синтаксический анализатор / генератор кода, который бы генерировал эти "спецификации" из объявлений функций вида
functionName(param1 :List, param2 :Tuple) -> ...
Я не видел, поддерживает ли -spec
абстрактные типы (объявленные пользователем типы - тип "Car" -
{car,{weight,_},{height,_},{maxSpeed,_}}
2. -deftype
директива , упомянутая здесь
Эрланг стал бы для меня намного более мощным, если бы я мог начать набирать вещи и проверять их во время компиляции. Во время выполнения парсер / code-gen, о котором я упоминал выше, генерирует проверки типа защиты в выходном исходном коде.