さまざまな依存型の形式化手法に関する調査の一環として、依存型型プログラミングをサポートする方法としてシングルトン型 (1 つの居住者を持つ型) の使用を提唱する論文に出くわしました。
このソースによると、Haskell では、実行時の値とコンパイル時の型の間に分離があり、型と値の同型性が誘導されるため、シングルトン型を使用するとぼやける可能性があります。
私の質問は次のとおりです。シングルトン型は、この点で型クラスまたは引用/具体化された構造とどのように異なりますか?
また、シングルトン型を使用することの型理論の重要性/利点、および依存型を一般的にエミュレートできる範囲に関して、いくつかの直感的な説明を特に感謝します。