"Unbound module quotation" 错误,即使在加载后 camlp4o.cma
"Unbound module quotation" error, even after loading camlp4o.cma
我是 OCaml 的新手,我正在尝试按照 this tutorial 的 4.3 来定义自定义引用行为。从我读过的内容来看,加载 camlp4o.cma
似乎是使 Quotation 模块对 OCaml 可见的原因。所以我在 OCaml 解释器中尝试了以下内容:
# #load "dynlink.cma";;
# #load "camlp4o.cma";;
Camlp4 Parsing version 4.02.3
看起来 camlp4o.cma
加载成功。所以我继续教程的其余部分:
# let expand _ s =
match s with
"PI" -> "3.14159"
| "goban" -> "19*19"
| "chess" -> "8*8"
| "ZERO" -> "0"
| "ONE" -> "1"
| _ -> "\"" ^ s ^ "\""
;;
val expand : 'a -> string -> string = <fun>
# Quotation.add "foo" (Quotation.ExStr expand);;
Characters 0-13:
Quotation.add "foo" (Quotation.ExStr expand);;
^^^^^^^^^^^^^
Error: Unbound module Quotation
我不确定为什么会收到此错误。我跳过了什么吗?如果相关的话,我在 Windows 上使用 OCaml 4.02.3 版。
http://caml.inria.fr/pub/docs/tutorial-camlp4/index.html 下的教程是旧的。它基于 3.10.0 版本之前的 CamlP4。 CamlP4 在 OCaml 3.10.0 中被完全重写。 "new" CamlP4 有很多不兼容性。
现在人们已经从 CamlP4 转向 PPX,所以我不确定 CamlP4 是否值得学习。话虽这么说,你可以看到 https://github.com/ocaml/camlp4/wiki for some documentations of the "new" CamlP4. Jake Donham's blog http://ambassadortothecomputers.blogspot.com/ 也提供了很好的信息。
我是 OCaml 的新手,我正在尝试按照 this tutorial 的 4.3 来定义自定义引用行为。从我读过的内容来看,加载 camlp4o.cma
似乎是使 Quotation 模块对 OCaml 可见的原因。所以我在 OCaml 解释器中尝试了以下内容:
# #load "dynlink.cma";;
# #load "camlp4o.cma";;
Camlp4 Parsing version 4.02.3
看起来 camlp4o.cma
加载成功。所以我继续教程的其余部分:
# let expand _ s =
match s with
"PI" -> "3.14159"
| "goban" -> "19*19"
| "chess" -> "8*8"
| "ZERO" -> "0"
| "ONE" -> "1"
| _ -> "\"" ^ s ^ "\""
;;
val expand : 'a -> string -> string = <fun>
# Quotation.add "foo" (Quotation.ExStr expand);;
Characters 0-13:
Quotation.add "foo" (Quotation.ExStr expand);;
^^^^^^^^^^^^^
Error: Unbound module Quotation
我不确定为什么会收到此错误。我跳过了什么吗?如果相关的话,我在 Windows 上使用 OCaml 4.02.3 版。
http://caml.inria.fr/pub/docs/tutorial-camlp4/index.html 下的教程是旧的。它基于 3.10.0 版本之前的 CamlP4。 CamlP4 在 OCaml 3.10.0 中被完全重写。 "new" CamlP4 有很多不兼容性。
现在人们已经从 CamlP4 转向 PPX,所以我不确定 CamlP4 是否值得学习。话虽这么说,你可以看到 https://github.com/ocaml/camlp4/wiki for some documentations of the "new" CamlP4. Jake Donham's blog http://ambassadortothecomputers.blogspot.com/ 也提供了很好的信息。