AdaCore / ada-spark-rfcs

Platform to submit RFCs for the Ada & SPARK languages
63 stars 28 forks source link

Documentation as part of the Ada Language Standard #44

Open pjljvandelaar opened 4 years ago

pjljvandelaar commented 4 years ago

During a meeting with AdaCore, Nexperia and ESI, we were asked by AdaCore to submit this issue to trigger a discussion to determine whether a RFC is justified.

Documentation as part of the Ada Language Standard

Understandability is key

Standardization

Not only standardize the programming language Ada but also

Furthermore, enable checking by tools, e.g. warning when function is NOT documented.

Current Situation

Now de facto standards exist, such as AdaDoc and GNATdoc. However,

Features

The documentation should support the following features

raph-amiard commented 4 years ago

Thanks a lot for opening this issue. First, I agree that this is an under specified aspect in the Ada world. Thanks for participating your requirements.

We'll study that in more detail and give some feedback here.

mhatzl commented 3 years ago

A quick look over AdaDoc and GNATdoc and the returned format for AdaDoc (HTML, Latex, StrongHelp) and GNATdoc (HTML) seem a bit limiting. As markdown is becoming more and more a standard for online platforms, I would recommend markdown like documentation in code that is then generated into markdown files.

For the most feature rich markdown syntax I suggest pandoc markdown. With the help of pandoc you can then very easily convert your documentation to a lot of different formats.

dhombios commented 1 year ago

ARG recently created a repo and a website for proposing new AIs. As this suggestion is related to the Ada standard, it might be worth also adding it to that repo.

I also think that documentation could be worth including in the standard, specially for documenting mathematical models used in the program (equations can be difficult to read in comments and code, so markdown can be quite useful to help the reader understand the program behavior, like Jupyter notebooks do)

pjljvandelaar commented 1 year ago

Recently, we noticed another advance of treating documentation like aspects: making clear to which element documentation applies. Currently, it is up to the reader to determine whether documentation in a comment belongs to either the statement before or after that comment. Unfortunately, this is not always straightforward!