Heim & Kratzer (1998) のちょっとした実装
Heim & Kratzer (1998)流の意味論の一部を,Haskell上で実装してみた. 1項述語と,それ上の一般化量化子が扱える.
使い方
GHCiで以下のソースファイルを読み込み,それでクエリをする.例:
Prelude> :l GQ.hs
Prelude> sleep Mary
False
Prelude> a student sleep
True
ソースコード
コードは以下のような感じ.
- 対象言語は(語順がめちゃくちゃな)英語もどきで,実際はHaskell式である.
- 対象言語の型は,その解釈上のタイプに沿って決定されるので,
何も明示されない.
Entity
,Truth
などの「型」らしきものは,解釈上のタイプのことである.
- 対象言語の型は,その解釈上のタイプに沿って決定されるので,
何も明示されない.
- メタ言語はHaskell.
- Functional Talkが基本である.
Entity
上の型コンストラクタ(i.e. 個体)を列挙する仕掛けが必要で,Data.Data
がそれを提供する.
- メタ言語の解釈者はGHCi.
- 2018/10/03 一部修正
- 2018/10/03 英訳