Catyのtyping rulesの基本
式の構成に従って型付けするが、その構成法は:
- パイプ |と;
- 配列構成 [,]
- オブジェクト構成 {,}
- タギング @
- 変数生成 >
- 変数参照 %
- each
- each --obj 単なるeachと挙動が違う
- take
- when分岐
- case分岐(難しい)
- cond分岐はやらない
- beginブロック
- repeat
- call
- forward
- start
- time これは単なる便利構文
型命題の原子論理式は、次。fはコマンド、A, Bは型。xは変数。Kはカインド。
- f:: A->B
- A⊆B
- A≠0
- x∈A
- A in K
アスキーで書きたいなら、A⊆B は A <= B、A≠0 は A notnever、x∈A は x <: A とする。
本質的なの命題はIOプロファイルの宣言と型不等式だけ。後はテクニカルな理由で導入している。実際のtyping rulesを書き下すのは後で。