しばらく前にHaskell拡張機能の1つ(リンクを見つけることができません)とrecently in Ur私は、レコードフィールドの名前が種類を形成していることがわかりました。タイプ抽象化がそれらのために十分でない理由を誰かが説明できますか?名前が種類だけでなく種類を形成する理由を教えてください。
答えて
答えは簡単です。タイプに表示される可能性があるからです。その結果、彼らはタイプレベルで生きなければなりません(さもなければあなたは依存型が必要になります)。彼らはタイプレベルで生活しているため、種類によって分類されます。
レコードシステムは、値、型、(多分)種類の規則を定義します。使用されるルールは、設計されるタイプシステムと、設計者が達成したいものによって異なります。
など。 Haskellで、レコードレーベルは、以下のとおりです。
- 値(アクセサ関数)
- は、これらの値は、型(例えば
Record -> Int
) - を持っているこれらのタイプは、種類(
*
)
その他の記録システムを持つことができます異なる目的のためにタイプまたは種類のシステムを使用してください。
ラベルを別の種類に置くことによって、タイプチェッカーは特殊なルールを扱うことができます。自動レンズ、または汎用の機能には当てはまらないレコード構成(おそらく全体)に関係するプルーフが含まれます。
Haskellで種類システムを使用する例は、「ボックス化されていないタイプ」の使用です。定期的にで混合からアンボクシングの種類を維持するために定期的な値
へ
- 異なるランタイム表現:これらは、持っているタイプですコンパイラがその分離を追跡することを可能にする異なる種類が与えられます。
レコードラベル名には、異なる種類の記号を使用しなければならないという魔法はありません。これは、言語設計者が選択できる選択肢です。また、Urなどの依存型言語Twelf、それは有用な区別になります。
ありがとう、ボックス化されていないタイプの例は啓発です – Fixpoint
- 1. websocket onmessageのパラメータの種類を教えてください。
- 2. typescriptにオブジェクトの種類を教えてください
- 3. マイグレーションに使用する列の種類を教えてください。
- 4. djangoでインデックスの種類を指定する方法を教えてください。 (btreeとhashなど)
- 5. 3種類のアラームを設定してください
- 6. 多形ジェネリック型の理由と種類
- 7. ディープ・ラーニング・モデルに必要なレイヤの種類を特定する方法を教えてください。
- 8. スクリーンリーダーで「1of7」/「2of7」種類の情報を入力する方法を教えてください。
- 9. 選択するツリーデータ構造の種類を決定する方法を教えてください。
- 10. コンソールから特定の種類のファイルの数を数えてください
- 11. 種類署名
- 12. Retrofitを使用してデータの種類を確認してください
- 13. angular2-google-chart typescriptで列の種類を指定してください
- 14. npm ERR!無効な名前:「種類/ハンドル@」
- 15. Codec.Pictureで読み込んだDynamicImageの種類を教える方法
- 16. 種類ごとに合計とグループを選択してください
- 17. Blender(プログラム)が.obj形式で不正なテクスチャ位置を生成する理由を教えてください。
- 18. FederatedAuthentication.SessionAuthenticationModuleをNULLに戻す理由を教えてください。
- 19. スウィフトイニシャライザオプションの種類ではなく、「[AVCaptureDevice]」
- 20. $ cookieStore.get()が値を取得できない理由を教えてください。
- 21. 添付ファイルの種類を1つだけ保存する
- 22. このGUIDが有効でない理由を教えてください。
- 23. CSSクラスが適用されない理由を教えてください。次
- 24. Javaでパラメータ化された型を使用しないでその種類を参照してください
- 25. テキストエディタが貼り付けられたコードのインデントを変形する理由を教えてください。
- 26. さまざまなデバイスで日付形式が異なる理由を教えてください。
- 27. InnoSetup:TInputOptionWizardPageでRequireRadioSelectionが不明な理由を教えてください。
- 28. webpackローダーが "module.exports = ..."で返される理由を教えてください。
- 29. 名前空間の種類の種類名前空間にMasterdetailpageが存在しません。xamarin.forms
- 30. UIAlertViewでMonoTouchランタイムがクラッシュする理由を教えてください。
この回答は私の頭の中にすべてを入れています。ありがとう! – Fixpoint