我正在玩OCaml。我想知道如何做的第一件事是建立一个OCaml项目。现在,我只是想要一些简单的东西,因为我刚学习。任何人都可以指向构建系统以及使用该构建系统的“hello world”类型示例吗?
答案 0 :(得分:11)
ocamlopt是标准的本机代码编译器。典型的构建语法是:
ocamlopt -o execname module1.ml module2.ml
您可以使用ocamlc
编译为字节码。
通常已包含标准库。如果您使用的是* nix系统,并希望包含unix库,那么您可以执行类似
的操作ocamlopt -o execname unix.cmxa module1.ml module2.ml
cmxa文件是本机代码库,cma文件是字节码库。
对于更复杂的构建,有一个帮助定位库的ocamlfind程序。您还可以使用GNU make和类似工具。可以找到更多信息here。 This是关于使用gmake的页面。
This是一个很好的“Coder's First Ocaml”页面 Here是我在大学时收到的Ocaml课程的讲座页面。不要尝试向Gunter教授提出任何提示,但是,如果有记忆,她就是一个邪恶的巨魔。
答案 1 :(得分:8)
还有ocamlbuild。对于没有外部依赖关系的简单项目,它就像
一样简单ocamlbuild prog.native
答案 2 :(得分:3)
您可能正在寻找ide。看看Know of an OCAML IDE?。
http://www.ocaml-tutorial.org/compiling_ocaml_projects解释了编译基础知识。在该页面的底部有一个名为Automated build systems
的部分,并链接到主题Compiling with GNU make
和Compiling with Omake
,其中包括样本。
答案 3 :(得分:3)
马库斯·莫特尔(Markus Mottle)看看ocaml-make
。该项目包括OCamlMakefile
。将其复制到源目录并创建Makefile
,例如:
SOURCES = hello.ml
RESULT = hello
-include OCamlMakefile
答案 4 :(得分:2)
您可能知道这一点,但是如果您不知道,OCaml包含一个REPL,您可以使用它来交互式编码而无需编译。当你第一次学习时它会非常有用。
答案 5 :(得分:1)
一个崭露头角的项目是OASIS,这是一个由Sylvain Le Gall开发的非常漂亮的构建系统。他在一堆他的OCaml项目中使用它,我也是。
答案 6 :(得分:0)
我还会为Ocaml添加另一个Makefile
,我将其用于我的项目。
Makefile
和示例用法可用on the Ocaml website。