我是OCaml的新手,正在尝试使用Facebook Reason语法。我无法找到一种方法来编译它,因为它找不到Core模块(已经通过opam安装)。
我正在尝试从《实用OCaml》中编译一个示例程序。
open Core.Std;
let rec read_and_accumulate accum => {
let line = In_channel.input_line In_channel.stdin;
switch line {
| None => accum
| Some x => read_and_accumulate (accum +. Float.of_string x)
}
};
let () = printf "Total: %F\n" (read_and_accumulate 0.);
这是我用于编译的命令:
rebuild accum.native
。当我在
_tags
中加入以下内容时(按照https://janestreet.github.io/installation.html上的说明):true: package(core,ppx_jane)
true: thread,debug
我的错误消息一直在变但我仍然不知道该怎么办:
File "_tags", line 1, characters 6-28:
Warning: tag "package" does not expect a parameter, but is used with parameter "core,ppx_jane"
File "_tags", line 1, characters 6-28:
Warning: the tag "package(core,ppx_jane)" is not used in any flag or dependency declaration, so it will have no effect; it may be a typo. Otherwise you can use `mark_tag_used` in your myocamlbuild.ml to disable this warning.
+ /Users/David/.opam/4.02.3/bin/ocamldep.opt -modules -pp refmt -impl accum2.re | tee accum2.re.depends accum2.ml.depends
accum2.re: Core Float In_channel
+ /Users/David/.opam/4.02.3/bin/ocamlc.opt -c -g -thread -pp '-g -thread' -pp refmt -o accum2.cmo -intf-suffix .rei -impl accum2.re
File "accum2.re", line 1, characters 5-13:
Error: Unbound module Core
Command exited with code 2.
Compilation unsuccessful after building 2 targets (0 cached) in 00:00:00.
我该如何使用Reason和Core进行开发?
学习其语法十分简单,只需几个小时即可理解。但对于非OCaml用户来说,关于如何使用Reason的文档却是几乎为零。