提案:C言語における必須効果

2025-01-20

この提案は、C言語の中核となる型システムを型と効果のシステムで拡張することを提案しており、関数とブロックは、その評価によって生じる効果の種類を宣言する必要があります。これにより、メタプログラミングの構成可能性が向上し、MISRAスタイルの制約の定義が簡素化されます。このシステムは効果を追跡し、チェックしますが、動的な効果処理は行いません。3つの主要な効果グループが提案されています。ローカル(例:ローカル書き込み)、永続的(例:非ローカル書き込み)、制御(例:非ローカル制御転送)です。静的な効果チェックは、各文、式、関数本体に型と効果を割り当てることによって実現され、正しい順序を保証するためにローカル効果は破棄されます。`mut`と`vol`の効果の大きさを制限することや、演算子と制御構造に対して効果チェックを指定することなど、推奨されるベストプラクティスも提案されています。目標は、特にメタプログラミングとリソース管理において、C言語の安全性、可読性、構成可能性を向上させることです。

開発