matchが表現する関数型とクロージャを生成する.
matchは,データ構成子を含むパターンと,そのパターンにマッチし
する引数が与えられた時評価される式の組である.
pat => exp
|
| pat => exp
各パターンと式の組pat => expに対し
て,patの型tyを求め,パターンの中の変数の型
を現在の型環境に加えた型環境の下でexpの型
tyを求め,関数型ty ->
tyを得る.
これら関数型をすべて単一化して得られる関数型ty
-> tyがこの関数式の型である.
関数式の値は,現在の値の環境とこの関数式の組みからなる関数クロー
ジャである.