Description
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!