如何让OCaml顶层使用Batteries?

5
在阅读OCaml网站、Batteries网站和OPAM网站等内容后,我无法弄清楚如何使用此库。(当我尝试使用Core时情况甚至更糟,但现在我会坚持使用batteries)。诚然,我对OCaml的生态系统还很陌生,但我发现它比Haskell、Python、Ubuntu或任何其他包管理系统更难理解。

那么,请有人告诉我如何正确加载Batteries和OCaml,以便我可以开始编写代码吗?

我使用的是Mac,所以我从这里开始:

brew install opam # Install opam
opam switch 4.01.0 # Install 4.01.0 version of Ocaml
opam install batteries # Install batteries library

eval `opam config env`
ocaml # Run the toplevel
open Batteries # Try to use batteries

我可能漏掉了一些命令,但我认为这些是主要的。在open命令处,toplevel告诉我Error: Unbound module Batteries
我是否应该将库“链接”到Ocaml解释器中,因为它们不会自动加载?
最后,我该如何得到一个可工作的设置,以便我可以学习Ocaml和Batteries?
2个回答

14

使用findlib在toplevel中加载它:

# #use "topfind";;
# #require "batteries";;
# open Batteries;;

您可能希望查看 Real World OCaml,我相信其中有一些设置OCaml的说明。


2
"官方"的方法是使用findlib: "
ocamlfind batteries/ocaml

或者,你可以告诉 ocaml toplevel 在哪里搜索电池模块:

ocaml -I /path/to/batteries/

e.g.

ocaml -I ~/.opam/4.00.1/lib/batteries

或者

ocaml -I +batteries

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接