我使用ocaml和emacs tuareg模式,作为一个新用户,我对所有ocaml工具都不太了解......
最近我用opam安装了ocaml-wlc,它是ocaml中wayland库的绑定。我尝试在我的代码中使用open
导入库,但它不起作用。
经过一番研究,我发现我需要使用ocamlfind,这是管理exernal库的工具。我还没有在网上找到这个工具的任何教程或文档,所以我阅读了手册。
在此之后,我仍然不知道如何使用该库...
我发现有很多适用于ocaml的工具,但我还没有找到关于如何使用该生态系统的正确教程/文档。
标题询问ocamlfind教程,但实际上我正在寻找关于ocaml工具生态系统的正确教程,以及如何管理简单的任务,如安装和使用带opam的库。
谢谢
答案 0 :(得分:1)
使用ocaml
获取所有已知ocamlfind软件包的列表,分别列出其内部名称。
如果你在你的顶层(str@s132-intel:~> ocaml
OCaml version 4.02.3
Findlib has been successfully loaded. Additional directives:
#require "package";; to load a package
#list;; to list the available packages
#camlp4o;; to load camlp4 (standard syntax)
#camlp4r;; to load camlp4 (revised syntax)
#predicates "p,q,...";; to set these predicates
Topfind.reset();; to force that packages will be reloaded
#thread;; to enable
)中激活了findlib,那么你会得到关于将包加载到顶层的提示:
#require "internalname";;
要使用#list;;
中显示的名称使用顶级使用open Modulename
中的包,只有这样才能使用open。
旁注:# binary test1, use modules Unix and Str, link packages in
ocamlfind ocamlc -o test1 -packages unix,str -linkpkg test1.ml
的缺点是隐藏函数的来源。
要编译代码,需要调用前缀为ocamlfind see ocamlfind doc here的编译器,一般语法为:
Resources
希望这能让你开始。有关更多信息,请参见ocaml.org。
请耐心等待,这不是一种含有大量材料的主流语言。但您可以直接在他们的邮件列表上与研究人员和开发人员交谈。