言語モデル論第10回

東京大学理学部情報科学科冬学期の言語モデル論の講義まとめ
0

FLタイプシステム続き

型体系の拡張

ネクタイ @carbon_twelve

1.幅方向。サブタイプの方のフィールドが増える。普通のオブジェクト指向言語とか。 #言語モデル論

2012-01-16 10:25:57
ネクタイ @carbon_twelve

2.深さ方向。{x:int, y:int, color:{r:int, g:int, b:int}} <: {x:int, y:int, color:{r:int}}。 #言語モデル論

2012-01-16 10:27:35
ネクタイ @carbon_twelve

あるフィールド(ここではcolor)がサブタイプになっている #言語モデル論

2012-01-16 10:27:53

※記法を統一するためにツイートを差し替えました。「Γ⊦M:τ」は「型環境Γの下で式Mの型がτである」という意味であり、「(rule) A | B」は「Aから規則ruleを用いてBを推論することができる」という意味です。

(S-list) σ<:τ | list(σ)<:list(τ)

(S-rec) σ_1<:τ_1,...,σ_n<:τ_n | {l_1:σ_1,...,l_(n+m):σ_(n+m)}<:{l_1:τ_1,...,l_n:τ_n}

ネクタイ @carbon_twelve

深さと幅方向に大きいフィールドはサブタイプ #言語モデル論

2012-01-16 10:32:52

(S-top) | τ<:Top

(S-abs) τ'<:σ', σ<:τ | σ'→σ<:τ'→τ

XENO @xenophobia__

ラムダ抽象の型階層規則「σ<:τ、τ’<:σ’⇒σ’→σ<:τ’→τ」は結果型に関しては共変(covariant)、引数型に関しては反変(contraavariant)になっている。 #言語モデル論

2012-01-16 10:33:40
XENO @xenophobia__

「はんぺん」→「反変」すら辞書登録されてないとかマジ…… #言語モデル論

2012-01-16 10:34:20
ネクタイ @carbon_twelve

τ'<:σ', σ<:τとすると、σ'→σ型の関数は…… #言語モデル論

2012-01-16 10:37:20
1 ・・ 4 次へ