Haddockで生成されたモジュールのドキュメントの多く(例Prelude
)では、右上に小さなボックスがあり、移植性、安定性、およびメンテナ情報が含まれています。
ソースコードからそのようなモジュールや実験まで、この情報がモジュールの説明の次のような行から生成されていることを確認しました。
-- Maintainer : libraries@haskell.org
-- Stability : stable
-- Portability : portable
これにはいくつかの奇妙なことがあります:
フィールドはこの順序でのみ機能するように見えます。順序が狂っているフィールドは、モジュールの説明自体の一部として扱われるだけです。これは、ソースファイルの順序が、生成されたドキュメントの順序と逆であるという事実にも関わらずです。
これらの分野の公式文書を見つけることができませんでした。、という名前のCabalパッケージプロパティがあり
stability
、そのサンプル値は、同等のHaddockフィールドで見た値と一致しますが、それを超えると、何も見つかりませんでした。
したがって、これらのフィールドはどのように使用されることを意図しており、どこにでも文書化されていますか?
特に、私は知りたいです:
Portability
およびの一般的に使用される値の完全なリストStability
。このHaskellWikiページにはリストがありますが、このリストの出所を知りたいのですが。モジュールがポータブルか非ポータブルかを判断するための基準。特に、 acme-strfryに対するこれらの質問への回答を希望するパッケージは
strfry
、glibcでのみ使用可能な関数であるへのFFIバインディングです。パッケージはglibcシステムでのみ動作するため、移植性がありませんか、それともHaskell言語拡張を使用しないため、移植性がありますか?一般的な使用法は後者を意味するようです。ソースファイルでフィールドの特定の順序が必要な理由、および生成されたドキュメントの順序とは逆の理由。