OntoDoc describes a (prospective) ontological documentation system. Although based in Elixir, it attempts to be language neutral.


The organization of the Elixir documentation reflects the structure of the code base. So, for example, all of the functions in the Enum module are lumped together. There are two problems with this:

  • Related functions from other modules (e.g., List, Stream) are not shown.

  • Cross-module categories of functions (e.g., Filter, Inspect) are not indexed.

It should be possible to create some ontological documentation, using a combination of crowd-sourcing and appropriate tooling. This could let users (for example) skim a list of categories, looking for potentially relevant functions.

Data Sources

The Elixir environment provides a wealth of data sources for automated documentation. These include generated files from Elixir, Erlang, and Phoenix, as well as hand-edited files (e.g., *.ex, *.exs, *.mix). See Data Sources for details.


Note: I hope to have more examples over time (:-).


As a quick hack, I wrote a script to generate the wiki markup for the lists above. See Implementation for details.

This wiki page is maintained by Rich Morin, an independent consultant specializing in software design, development, and documentation. Please feel free to email comments, inquiries, suggestions, etc!

Topic revision: r70 - 04 Apr 2016, RichMorin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding CFCL Wiki? Send feedback