Generating type specs programmatically

Guilherme Andrade g@REDACTED
Sun Dec 6 20:13:08 CET 2020


Thanks for the suggestion!

After a quick glance, Typer seems to be directly generating string
representations of the specs - that is, not actually manipulating the AST
of the modules it works on by inserting nodes that represent said specs.

That's a shame, but it's what I will also do if I don't find a more elegant
way to do it through `erl_syntax`.

Oh well.

On Sat, 5 Dec 2020 at 22:29, Fred Hebert <mononcqc@REDACTED> wrote:

> You might want to look at Typer, since it's whole purpose is to generate
> type specs for code that you can directly put in code.
>
> On Sat, Dec 5, 2020 at 3:25 PM Guilherme Andrade <g@REDACTED> wrote:
>
>> Hello list,
>>
>> I've been working on a code-generating tool, leveraging `erl_syntax`[1]
>> to build an AST containing arbitrary Erlang functions; I then use
>> `erl_pp`[2] to generate the corresponding Erlang code and write the result
>> onto a source code file.
>>
>> 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`.
>>
>> All of the different attempts I've made end up either crashing within
>> `erl_syntax` or `erl_pp`, or at best result in INVALID-FORM literals within
>> the generated code.
>>
>> Would any of you be able to point me in the right direction?
>>
>> Thanks in advance!
>>
>> [1]: http://erlang.org/doc/man/erl_syntax.html
>> [2]: https://erlang.org/doc/man/erl_pp.html
>>
>> --
>> Guilherme
>>
>

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


More information about the erlang-questions mailing list