Skip to content

Improve documentation of modules #595

Open
@alhassy

Description

@alhassy

List of needed documentation

  • README.Algebra
  • README.Axiom
  • README.Category
  • README.Codata
  • README.Data
  • README.Data.Nat.Induction (exists but doesn't do much explaining or go into <-wellFounded)
  • README.Function
  • README.IO
  • README.Induction
  • README.Reflection
  • README.Relation

Other

  • Syntax guidelines

Original post

tldr: It's hard to find stuff in the standard library; and when you do find it,
it's not always clear how to use it, where to use it, or why it's defined the way it is!

A prime hindrance to a successful library is the inability of its users
to locate desirable utilities or documentation about them, thereby being
forced to use extra third-party tools to accomplish such tasks.

The de facto IDE for Agda is Emacs. It comes with the ‘jump to definition’
utility, which unfortunately requires the user to actually inspect the definitions
of functions since the standard library is unreasonably poorly documented.
The trouble is multiplied by the exceedingly fast growth of the library itself,
thereby making it harder to locate material let alone find out how to use it.

In contrast, Haskell's community provides well-documented code which it
uses to create online information hubs. It is a shame that Agda is heavily
influenced by the Haskell community, yet not so much in this pragmatic sense.

Perhaps we could standardise documentation for the library similar to how Haskell does it,
or --since Agda is primarily Emacs-based-- go for a more literate approach and use Org-mode!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions