kuis-isle3sw/IoPLMaterials

Ex4.2.1とEx4.3.1の依存関係

Opened this issue · 2 comments

  • 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_typp_ty を実装させ、4.3.1でそれらをML3向けに拡張しろ、とした方が良いと考えています。

I'll take care of this issue. (Maybe after this semester.)

あ,これわすれてた.