Repository conventions
These rules apply to the autodiff manual in addition to the Luna Flow
documentation standard.
Page names
- The root package
Luna-Flow/autodiffis documented asautodiff(api/autodiff.md,tutorial/autodiff.md,design/autodiff.md), because the namecorebelongs to the packagesrc/core. - Every other package page is named after its directory under
src/. - The
examplesandtestspackages have no pages; the overview describes them.
Terminology
- Keep package terminology aligned with the Luna Flow names from
luna-genericandarithmetic. - Call the components of a dual number its value and tangent, as the code does.
- Do not describe
Dual[T]as a field or an ordered scalar.
Examples
- Examples use the aliases
@autodiff,@dual,@forward,@linalg,@poly,@checked,@elementary,@ad_core(forLuna-Flow/autodiff/core),@la(forLuna-Flow/linear-algebra/immut),@denseand@sparse. - A program with
fn mainis followed by its exact output in atextblock.
Scope
- Future work must be clearly marked as future work.