タイプ推論の限界は何ですか?どのタイプのシステムには一般推論アルゴリズムがありませんか?型推論の限界は何ですか?
20
A
答えて
11
Joe Wellsは、型推論は独立ジラールとレイノルズによって発見され、最も基本的な多型ラムダ計算されているシステム F、のために決定不能であることを示しました。これは、型推論の限界を示す最も重要な結果です。
ここではまだ開いている重要な問題です:ヒンドリー - ミルナーの型推論に一般化代数データ型を統合するための最良の方法は何ですか?毎年Simon Peyton Jonesは新しい答えを思いつきました。これはおそらく前年の答えよりも優れています。私は2009年3月版を読んでいないので、確定していると思うかどうかは言えません。
5
値依存型システム(またはショート、依存型システム内)のようなものを言うタイプ記述することができます:「評価時(ランタイム)、この変数の値は、常にその値に等しくなります変数は、異なる評価プロセスで計算されます。コードからこのタイプを自動的に推論するには、定理の自動証明が必要です。あなたが表現できる定理の集合が自動的に証明可能な定理に限定されていれば、それは問題ではないでしょうが、依存型言語の場合、これは一般的ではありません。
だから、依存型指定されたシステムは、一般的に持っている(完全な)推論を入力することはできません。
私は誰かが道徳的正式かつ完全な答えを提供することができます確信している...
関連する問題
- 1. 型推論は
- 2. 値の制限と型推論
- 3. F#型推論
- 4. 型推論
- 5. C++の "型減算"とHaskellの "型推論"の違いは何ですか?
- 6. パターンマッチングの推論型
- 7. 型コンストラクタの型推論
- 8. GHCの型推論は
- 9. 値の型推論は
- 10. Javaの推論:配列型の上限を持つ型変数
- 11. 「推論デーモン」とは何ですか?
- 12. uitextfield論理限界
- 13. ghci randomio型推論
- 14. Typescript推論型エラー
- 15. ハスケル推論型エラー
- 16. スカラパターンマッチングと型推論
- 17. 自動型推論
- 18. 推論型はFragment!しかしPlaceAutocompleteFragmentは
- 19. Typescriptサブジェネリック型の推論
- 20. Kotlinのラムダと型推論
- 21. スウィフトObjectMapperの型推論
- 22. OCamlの型推論ヘルプ
- 23. 型推論の回避策
- 24. Scalaのメソッド推論ジェネリック型
- 25. Scalaの型推論誤差
- 26. スカラーのパラメータ型推論
- 27. 完全型推定言語とは何ですか?そのような言語の限界?
- 28. ハスケルで型推論に従うには?
- 29. ジェネリックメソッドの型引数の型推論
- 30. typescriptでは、プロパティデコレータはオプションの型を推論できますか?
アルゴリズムWは、決定可能なシステムFの可能な部分集合をカバーしていますか? –
@ott:私は尖頭型の理論家ではありませんが、System Fには複数の比較可能な決定可能な部分集合があります。拡張の可能性は言うまでもない(GADT、等価制約、修飾型)。それは尖った群衆のための完全な雇用です:-) –
@Norman Ramsey:面白い。タイプ理論家が尖っているかどうかはわかりませんが、私が見た論文は現実とはかなり離れているようですが、タイプ理論が主流になり広く受け入れられるかどうかはわかりません。あなたはまだ基礎を理解するためにMLを学ばなければなりません。 –