第 36 章 最近移除或移動的函式庫 (Graphics, Bigarray, Num, LablTk)

本章描述了三個以前是 OCaml 發行版一部分的函式庫(Graphics、Num 和 LablTk),以及一個現在已成為 OCaml 標準函式庫一部分的函式庫,並已在那裡記錄(Bigarray)。

1 Graphics 函式庫

自 OCaml 4.09 起,graphics 函式庫以外部套件形式發布。它的新位置是

https://github.com/ocaml/graphics

如果您使用 opam 套件管理器,您應該安裝對應的 graphics 套件

        opam install graphics

在 OCaml 4.09 之前,此套件僅確保編譯器安裝了 graphics 函式庫,而從 OCaml 4.09 開始,此套件實際上提供了 graphics 函式庫。

2 Bigarray 函式庫

自 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";;

3 Num 函式庫

num 函式庫以任意精度實作整數算術和有理數算術。 它從 4.06.0 版本開始從核心 OCaml 發行版中分離出來,現在可以在 https://github.com/ocaml/num 找到。

需要任意精度算術的新應用程式應使用 Zarith 函式庫 (https://github.com/ocaml/Zarith) 而不是 Num 函式庫,並且鼓勵已經使用 Num 的較舊應用程式切換到 ZarithZarithNum 提供更好的效能,並且具有更好的 API。

4 Labltk 函式庫和 OCamlBrowser

自 OCaml 4.02 版起,OCamlBrowser 工具和 Labltk 函式庫與 OCaml 編譯器分開發布。該專案現在託管在 https://github.com/garrigue/labltk