1

私は、メモリ管理の問題(メモリリーク、ダングリングポインタ、ダブルfree()など)を解決できるタイプシステムで、プログラムの正確性を自動的に証明することで言語を構築することが可能かどうかを質問したかっただけです統合されたcoqのような定理証明(証明のようなプログラムの考え方のような)のような命題としての型を持つか?coqのようなプログラムの正確性を証明することによってメモリ管理の問題を解決しますか?

このアプローチには根本的な論理的な問題がありますか(問題はおそらく停止していますか?)、それとも実現不可能なのでしょうか?お返事ありがとうございます。私はこの分野に精通しておらず、好奇心から知りたいと思って申し訳ありません)

+0

はい、プログラマーがポインタに直接アクセスすることを絶対に許可しないでください。 Linuxでも 'ln'コマンドで同様のことが行われます。通常のユーザーは、ディレクトリをリンクするためにそれを使用することはできません。ディレクトリは 'mkdir'コマンドでのみ作成できます。これにより、ファイルシステムのメモリ管理の問題が防止されます。 – shawnhcorey

答えて

1

はい、コンパイルを実行する言語については、リアルタイムメモリ管理。 Rustとそのオーナーシップモデルは、この分野で最も重要な業界言語です。いつでも "linear types"を調べることができます。

+0

しかし、コンパイル時に問題を解決しながらプログラマからの責任を完全に取り除く方法はありますか?私が聞いたように、錆の借りチェッカーと戦うことはかなり疲れている可能性があります。リニアタイプのシステムは私にとっては少し制限があるようです。例えば、永続的なデータ構造は不可能です。 – Supergravitation