这是indexloc提供的服务,不要输入任何密码
Skip to content

Odin Core Package Documentation #2358

@Lperlind

Description

@Lperlind

Current Status

Currently we're using core:strings as the playing ground for documentation. It's quite a large package so most of the groundworks on how things should be styled, minimum requirements, etc. are being tested there. Once completed it will be the de facto reference on writing documentation for the core libraries.

Odin Core Package Documentation

This issue is mainly to help track overall progress on documentation of Odin's core packages.
Bill stated that he really needs others to contribute if we want extensive coverage of all the packages.

Goals

Overall the simplest goal we can is to have all public facing procedure and type have a description of what they do (no matter how trivial the function is). This is any easy first pass that seems pretty achievable.

Ideally we extend this further and have at least 1 example of usage code with expected outputs for every procedure, etc.

Documentation Language

It would be really good if we can stick to some consistent set of rules as a goto for how to word things, we should come to an agreement at some point. I've noticed different packages explain in very different ways from one another it would be good to iteratively make things more the same.

Because everything is so different, there is no obvious example to refer to.

For now the simplest advice is "make it clear and terse, don't be clever".

Packages Checklist

Below are all the packages that need to be documented. Many packages contain a sizeable amount of documentation but are missing many functions, these are marked as incomplete.
Some packages have very little to no documentation, these are marked as not documented.
I largely glanced through https://pkg.odin-lang.org/core/ to determine the state of current things.
You can use this as some sort of a guide to what is best to work on.

We can update the checklist below as work is slowly merged into master.

  • bufio
  • bytes
  • compress
  • container
  • crypto
  • dynlib
  • fmt
  • hash
  • image
  • io
  • log
  • math
  • mem
  • odin
  • path
  • reflect
  • runtime
  • simd
  • slice
  • sort
  • strconv
  • strings
  • sync
  • text
  • time
  • thread
  • unicode
  • flags

Packages that should not be documented

  • c: users should refer to lib c documentation
  • sys: users should refer to their platform specific documentation
  • os: planned to be deprecated for os2
  • thread: planned to have changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions