Generating type specs programmatically

Guilherme Andrade g@REDACTED
Mon Dec 7 18:25:22 CET 2020


Hello Viktor,

On Mon, 7 Dec 2020 at 14:25, Viktor Söderqvist <viktor@REDACTED>
wrote:

> Hi! Generated examples of all of Erlang's AST is in the generated
> README.md of this repo:
> https://github.com/zuiderkwast/erlang_abstract_format


Thanks! That's a reference document I'll definitely bookmark.


>
>
> Some examples:
>
> -spec my_function() -> ok.
>
> {attribute,54,spec,
>             {{my_function,0},
>              [{type,54,'fun',[{type,54,product,[]},{atom,54,ok}]}]}}
>
> -spec my_function(A :: atom()) -> B when B :: boolean().
>
> {attribute,55,spec,
>      {{my_function,1},
>       [{type,55,bounded_fun,
>            [{type,55,'fun',
>                 [{type,55,product,
>                      [{ann_type,55,[{var,55,'A'},{type,55,atom,[]}]}]},
>                  {var,55,'B'}]},
>             [{type,55,constraint,
>                  [{atom,55,is_subtype},
>                   [{var,55,'B'},{type,55,boolean,[]}]]}]]}]}}
>
> If some syntactic element is missing, please let me know.
>
> BRs,
> Viktor
>
> On 2020-12-05 21:24, Guilherme Andrade wrote:
> > All is well so far, but now I want to generate type specs and function
> > specs with which to annotate the generated code - and I can't for the
> > life of me figure out how to do it within `erl_syntax`.
>


-- 
Guilherme
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20201207/e15f53af/attachment.htm>


More information about the erlang-questions mailing list