[erlang-questions] Accessing the documentation at runtime

Joe Armstrong erlang@REDACTED
Wed Sep 28 21:44:21 CEST 2016


Regarding an API

It is not a coincidence that the HTML documentation for (say
lists.erl) can be obtained by fetching the page
http://erlang.org/doc/man/lists.html

How about a REST interface to extract the parts of the documentation?

For example

 http://erlang.org/doc/man/lists?type=xml
 would fetch the lists.xml (the documentation)

 http://erlang.org/doc/man/lists?type=erl
(the code)

 and
http://erlang.org/doc/man/lists?type=xml&func=append&arity=2
would fetch the documentation for lists:append/2 etc.

If we *standardise* the interface then writing tools to present this in
different ways should possible

Cheers

/Joe


On Wed, Sep 28, 2016 at 8:28 PM, Vlad Dumitrescu <vladdu55@REDACTED> wrote:
> Hi,
>
> Following the documentation discussion, and the details about how Elixir
> supports that as API, I wonder if we could (should?) support something
> similar for Erlang.
>
> My suggestion for the data to store is the xml source, parsed with xmerl
> into simple-form. For non-otp modules, there is an edoclet that can produce
> opt-like xml from edoc. I don't know what format elixir uses, but for
> consuming the OTP docs this feels the easiest.
>
> One way is to add an optional chunk to the beam files, storing the docs. A
> new compiler option would select that, similar to 'debug'. This would
> increase the size of the files significantly and possibly only few people
> will add the docs, resulting in an useless chunk, but if it gets used then
> all data is readily available.
>
> An alternative would be to deliver archives with the docs in separate files
> (a zip in myapp/doc?).
>
> What is needed then is an API to access that, "code:get_doc(Module|App)"
> feels like it would be enough.
>
> Thoughts?
>
> best regards,
> Vlad
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list