リポジトリの規約
これらの規則は、Luna Flow ドキュメント標準に加えて arithmetic のマニュアルに適用される。
基準とリリース履歴
マニュアルは現在のブランチのコード、すなわちリリース 0.5.0 と CHANGELOG.md の Unreleased に挙げた変更を記述する。リリースの履歴は CHANGELOG.md が担うので、概要とリポジトリの README は現在の基準だけを記述する。
ページ
src/にある唯一のパッケージはcoreとして文書化する:api/core.md、tutorial/core.md、design/core.md。- トレイトが約束することと、提供されるインスタンスが行うことを区別する。インスタンスがトレイトの許す範囲より少ないことしかしない場合(例えばコンテキストを無視する場合)は、API ページのそのトレイトの説明の箇所でそう書く。
- 提供されるすべてのインスタンスについて、特殊値(NaN、符号付きゼロ、無限大、オーバーフロー)の意味を記述する。汎用コードの利用者はそれに依存する。
- コードが実装していない数学は、トレイトの契約として、あるいは例示であると明記した場合にだけ書いてよい。
例
Luna-Flow/arithmeticには@lf_arith、Luna-Flow/luna-genericには@lf_algの別名を使い、トレイトメソッドはトレイト経由で呼ぶ(@lf_arith.Sqrt::sqrt(x))。nocheckの付いていないmoonbitブロックはすべて、検証で説明するとおりにコンパイルされ、テストとして通らなければならない。結果はinspectかdebug_inspectで示す。- リリース告知のような文章より、短く直接的な技術的文を好む。
翻訳
- 識別子、型名、トレイト名、パッケージ名、パス、コマンド、バージョン文字列は翻訳しない。
- 中国語は自然な技術的書き言葉の中国語として、日本語は直訳ではなく自然な技術的日本語として読めるようにする。