1. Marshal从文件读出来的东西不包括类型信息,需要手动造型
2. 一直奇怪为什么在cygwin里的ocaml的toplevel还是不能load 'unix.cma'
原来是平台不支持动态加载,得硬把模块link进定制的toplevel:
[code]ocamlmktop -o mytop.exe unix.cma[/code]
3. String是mutable的,best practice是作为mutable数据的buffer。
4. Array有matrix支持
5. Polymorphic Variant Types有个潜在的问题:类型推断不会约束它的内容范围。
6. Ocaml比我想的更加lispy, 也许是这本书的代码风格问题。。。代码中意义不明的变量名太多了,晕~
7. pretty print: #install_printer print_position;; 不过print_position得自己定义
8. 这本书说是面向无FP经验读者,可是很多代码中基本概念根本不讲(fold, 多形变量声明。。。),还好我懂点,否则就要傻掉了。
code17说不会组织翻译这本书了555,我看来是不用再老实读下去了,还是拣些有意思的章节看看算了。另外好像没找到有什么动态载入代码的办法,看来camlp4也只能用于构造静态DSL。
2. 一直奇怪为什么在cygwin里的ocaml的toplevel还是不能load 'unix.cma'
原来是平台不支持动态加载,得硬把模块link进定制的toplevel:
[code]ocamlmktop -o mytop.exe unix.cma[/code]
3. String是mutable的,best practice是作为mutable数据的buffer。
4. Array有matrix支持
5. Polymorphic Variant Types有个潜在的问题:类型推断不会约束它的内容范围。
6. Ocaml比我想的更加lispy, 也许是这本书的代码风格问题。。。代码中意义不明的变量名太多了,晕~
7. pretty print: #install_printer print_position;; 不过print_position得自己定义
8. 这本书说是面向无FP经验读者,可是很多代码中基本概念根本不讲(fold, 多形变量声明。。。),还好我懂点,否则就要傻掉了。
code17说不会组织翻译这本书了555,我看来是不用再老实读下去了,还是拣些有意思的章节看看算了。另外好像没找到有什么动态载入代码的办法,看来camlp4也只能用于构造静态DSL。