タイプとソートの違い


11

これは非常に単純な質問かもしれません。

しかし、タイプとソートの違いは何ですか?

私の現在の理解は、型規則の型理論があり、適切に型付けされたステートメントの概念を与えるが、ソートはより基本的であり、シンボルを異なる種類のシンボルに区別し、関数の適用などに基本的な規則を導入することです

おそらく、ほとんど違いはありません。多分、それらは異なる分野から来ているだけかもしれません。しかし、私は彼らの関係の明確な説明を見つけることができないようです。


1
用語の意味は文脈に依存します。質問しているタイプとソートの使用例を教えてください。:
ジェレミー

1
そして種類があります。そしてクラス。
lukstafi

@Jeremy答えは関係のより明確な絵を与えてくれました。特定の状況で何が起こっているのかわからないという例はありませんでしたが、特定の用語を選択することに意味があるのではないかと考えていました。ありがとう。
selig

1
"Kind"に関するWikipediaのエントリによると、a kind型コンストラクターの型、またはそれほど一般的ではないが高次の型演算子の型です。
デビッドトンホーファー

回答:


15

私が違いを理解する方法は、2つの概念がわずかに異なる強調を与えるために使用されるということですが、最終的にはそれらは同じものの一種です。どちらにも正式な定義がないため、最初にスコープを「タイプ」と「ソート」の特定の理解に制限しない限り、正確な答えを期待することはできません。

「並べ替え」は、区別する必要のあるさまざまな種類のことを言いたいときに使用します。例は、「ポイント」と「ライン」の種類の幾何学の理論です。

「タイプ」は、さまざまな種類のものを区別する必要があるだけでなく、種類/タイプ自体の構造に適切な注意が払われる場合に使用されます。したがって、通常、古いタイプ(製品、合計、関数タイプ)から新しいタイプを形成できます。タイプ間の興味深い関係(タイプの等価性、サブタイプ)などを作成できます。その後、あらゆる種類のクラスの構造にあまり注意を払うことはありません。

これは、少なくとも私が違いを認識する方法です。他の人は異なる経験をするかもしれません。


9

Andrejが言うように、どちらの用語も完全に形式的ではなく、ほぼ同じ種類のことについて話しているので、明確な境界線はありません。

tσt:σ[[t]][[σ]]

eτe:τ


明確にするために、括弧で囲まれたtとsigmaは「の解釈」を意味しますか?どの場合、「意味する」は「それを意味する」と書く方が良いでしょうか?
デビッドトンホーファー

1
t:σtσ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.