在print_int中有一系列的函数,比如print_endline和Printf。我不能做这样的事print n;; (* And I haven't to change `print` in case type of `n` changed *)
这是多态打印,如Java、C#、Python等。相反,我们有由程序员显式定义的类C类型。所以我认为OCaml在编译过程中丢失了类型信息,并且在运行
假设我有自己的数据结构,作为一个愚蠢的例子,type 'a mylist = Empty | Cons of 'a * ('a mylist)。我希望toplevel以{a,b,...}的形式打印这个列表。在这里,a、'a类型的b是根据安装在带有#install_printer的toplevel中的打印函数打印的,或者如果没