[解決済み] Hindley-Milnerのどの部分が理解できないのでしょうか?
2022-03-19 13:24:48
質問
I 誓う 以前は Tシャツ という不朽の名言を残しています。
のどこが?
してください じゃない がわかるか?
私の場合、答えは...全部!です。
特に、Haskellの論文でこのような表記をよく見かけますが、どれがどういう意味なのかさっぱりわかりません。数学のどの分野なのか、さっぱりわからない。
ギリシャ語のアルファベットはもちろん、quot;∉"(これは通常、何かが集合の要素ではないことを意味します)などの記号は分かりますが。
一方、"⊢は見たことがないですね( ウィキペディアでは、「パーティション」という意味かもしれないとしています。 ). また、ここでのヴィンキュラムの使い方もよくわからない。(通常、分数を表しますが、これは 現れる ということです)。
この記号の海が何を意味するのか理解するためには、少なくとも何から始めればいいのか、誰かが教えてくれれば助かるのですが。
どうすればいい?
- その ホリゾンタルバー は、"[above]を意味します。 を意味する [以下]"。
- がある場合 複数の表現 を[上]のように考えてください。 とした。 を保証するためには、[上]がすべて真でなければならない。
-
:
意味 はタイプを持っています -
∈
手段 があります。 . (同様に∉
は、"is not in"を意味します)。 -
Γ
は、通常 環境 この場合、識別子とその型のペアリングを行う型注釈のセットと考えることができます。したがってx : σ ∈ Γ
というのは、環境Γ
という事実が含まれています。x
は、タイプσ
. -
⊢
と読むことができます。 証明する または決定する。Γ ⊢ x : σ
というのは、環境Γ
が決定する。x
は、タイプσ
. -
,
は を含む 環境に特定の付加的な仮定を加えるΓ
.
したがってΓ, x : τ ⊢ e : τ'
というのは、環境Γ
, という仮定が追加され、上書きされます。x
は型τ
は、以下のことを証明しています。e
は、型τ'
.
ご要望にお応えして、演算子の優先順位を高いものから順にご紹介します。
-
言語固有の infix および mixfix 演算子、たとえば
λ x . e
,∀ α . σ
およびτ → τ'
,let x = e0 in e1
および関数アプリケーションのための空白文字。 -
:
-
∈
そして∉
-
,
(左結合) -
⊢
- 複数の命題を区切る空白(連想)
- 横棒
関連
-
[解決済み] エラー haskell: スコープ内にありません。どういう意味ですか?
-
[解決済み] 一般的に `{- |` で始まるHaskellのコメントは何を意味するのですか?
-
[解決済み] haskellにおけるdrop関数 - リスト内包を用いた実装
-
[解決済み] Haskellです。パターンでのパースエラー
-
[解決済み] Haskell タプルをリスト化する?
-
[解決済み] なぜ依存型でないのか?
-
[解決済み] リーダーモナドの目的は何ですか?
-
[解決済み] TLSサーバーを実装するためのHsOpenSSL APIの適切な使用法
-
[解決済み] ヒンドレーミルナーとは?
-
[解決済み] ハスケル Where vs. Let
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Haskellで "length "関数を使用しない場合のリストの長さ
-
[解決済み] haskellにおけるdrop関数 - リスト内包を用いた実装
-
[解決済み] Haskellで副作用がモナドとしてモデル化されているのはなぜですか?
-
[解決済み] 制約条件付き特殊化
-
[解決済み] GHCiの複数行コマンド
-
[解決済み] Haskellにおける "リフティング "とは?
-
[解決済み] Haskellのマルチコアプログラミングはどうなっているのか?
-
[解決済み] CabalとStackの違いは何ですか?
-
[解決済み] Haskellでグラフはどのように表現するのか?
-
[解決済み] GHCでコンパイルした小さなHaskellプログラムを巨大なバイナリにする