本章描述了三个以前属于 OCaml 发行版的一部分的库(Graphics、Num 和 LablTk),以及一个现在已成为 OCaml 标准库一部分的库,并在其中有文档说明(Bigarray)。
从 OCaml 4.09 开始,graphics 库作为外部包分发。它的新地址是
https://github.com/ocaml/graphics
如果你使用 opam 包管理器,你应该安装相应的 graphics 包
opam install graphics
在 OCaml 4.09 之前,这个包只是确保 graphics 库由编译器安装,而从 OCaml 4.09 开始,这个包实际上提供了 graphics 库。
从 OCaml 4.07 开始,bigarray 库已集成到 OCaml 的标准库中。
现在可以在标准库的 Bigarray 模块 中找到 bigarray 功能,除了 map_file 函数,该函数现在是 Unix 库 的一部分。文档已集成到标准库的文档中。
与编译器捆绑在一起的遗留 bigarray 库是一个兼容库,与以前完全相同的接口,即包括 map_file。
我们强烈建议你将你的代码移植到使用标准库版本,因为所需的更改很少。
如果你选择使用兼容库,你必须按如下方式链接你的程序
ocamlc other options bigarray.cma other files ocamlopt other options bigarray.cmxa other files
为了交互使用 bigarray 兼容库,请执行以下操作
ocamlmktop -o mytop bigarray.cma ./mytop
或(如果你的平台支持 C 库的动态链接),启动 ocaml 并输入 #load "bigarray.cma";;。
num 库实现了任意精度的整数运算和有理数运算。从 4.06.0 版本开始,它从 OCaml 核心发行版中分离出来,现在可以在 https://github.com/ocaml/num 中找到。
需要任意精度算术的新应用程序应该使用 Zarith 库 (https://github.com/ocaml/Zarith) 而不是 Num 库,而已经使用 Num 的旧应用程序鼓励切换到 Zarith。Zarith 比 Num 提供更好的性能,并且具有更友好的 API。
从 OCaml 4.02 版本开始,OCamlBrowser 工具和 Labltk 库与 OCaml 编译器分开分发。该项目现在托管在 https://github.com/garrigue/labltk 上。