[英]Unbound value List in Ocaml?
我剛剛構建了一個小測試程序來查看我的更大問題,但我不斷收到錯誤。
let test a =
List.length [a;a;a]
我想用 ocamlbuild 構建它。
ocamlbuild call.byte -no-hygiene
我嘗試添加 -pkgs 'core',但效果不佳。
這是錯誤。
Error: Unbound value List.length
有什么建議么?
這不是一個真正的答案,對不起。 但是評論區太受限制,無法給出建議的命令行。
List 模塊應該作為任何 OCaml 安裝的一部分進行安裝。 它是指定語言的一部分。 如果您的編譯器確實無法找到 List 模塊,則說明有問題。
一種可能性是您的安裝混亂並且沒有 List 模塊。 對於這種情況,首先要嘗試的是在您的系統上重新安裝 OCaml(如果可能)。
以下是我如何為我的安裝找到 Stdlib 模塊(實際文件)。
$ ocamlc -where
/Users/self/.opam/4.10.0/lib/ocaml
$ ls -l $(ocamlc -where)/stdlib.cm*a
-rw-rw-r-- 1 self staff 2812632 Mar 2 09:07 \
Users/jeffsco/.opam/4.10.0/lib/ocaml/stdlib.cma
-rw-rw-r-- 1 self staff 22621 Mar 2 09:07 \
/Users/jeffsco/.opam/4.10.0/lib/ocaml/stdlib.cmxa
另一種可能性是,當您說List
時,您不是在談論標准 List 模塊,而是在談論其他一些模塊。 換句話說,也許你的環境已經用新的東西代替了List
。 一些庫喜歡這樣做是因為他們覺得自己優於標准庫(對此感覺不做評論)。
如果這是正在發生的事情,並且如果您想使用這個其他庫,那么您應該閱讀該庫的文檔以了解如何訪問標准庫函數。 幾乎總有辦法做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.