Ex4.2.1とEx4.3.1の依存関係
Opened this issue · 2 comments
plveir commented
- Ex4.2.1のテストは、
string_of_ty
の実装に依存しているが、変更例として示されている部分にstring_of_ty
の変更があげられていない。
syntax.ml への変更
(* MiniML の型を表す OCaml の値の型 *)
type ty =
TyInt
| TyBool(* ty 型の値のための pretty printer *)
let pp_ty typ =
match typ with
TyInt -> print_srtring "int"
| TyBool -> print_string "bool"
- Ex4.3.1の課題は、
pp_ty
を実装することになっているが、ソースコード上はstring_of_ty
を実装することになっている
pp_ty と freevar_ty を完成させよ.freevar_ty は,与えられた型中の型変数の集合を返す関数で,型は ty -> tyvar MySet.t とする.型 'a MySet.t は mySet.mli で定義されている型 'a の値を要素とする集合を表す値の型である.
let string_of_ty _ =
assert false (* Exercise 4.3.1 *)
したがって、教科書を順番に読んで、4.2.1を実装しただけではテストが通らない。
4.2.1の時点でML2のための string_of_ty
と pp_ty
を実装させ、4.3.1でそれらをML3向けに拡張しろ、とした方が良いと考えています。
ksuenaga commented
I'll take care of this issue. (Maybe after this semester.)
ksuenaga commented
あ,これわすれてた.