背景:我正在使用Emacs23.3、OCaml 3.12.0和Tuareg1.45.7。
我正在查看Hickey OCaml书,并试图在pg上运行这些示例。这本书157个,.pdf 167个。问题出现在表达式中。
type ’a blob = < draw : unit; .. > as ’a当我在tuareg模式下将其输入emacs缓冲区并尝试使用C-c C-e对其进行评估时,我在caml toplevel中得到以下错误:
# type 'a blob = < draw : unit; .. > as ';;
Characters 39-41:
type 'a blob = < draw : unit; .. > as ';;
^^
Error: Syntax error注意最后的a如何没有出现在发送给toplevel的命令中。如果我直接将这一行输入到toplevel中,它就能正常工作:
# type 'a blob = < draw : unit; .. > as 'a;;
type 'a blob = 'a constraint 'a = < draw : unit; .. >所以我的问题是:为什么这个不起作用,我怎样才能解决它?更新tuareg似乎不是一个选项:我尝试过使用Tuareg2.0版本,但这甚至无法正确加载。
Update:这是在12/8/12的图阿雷格SVN主干中修复的。
svn checkout svn://svn.forge.ocamlcore.org/svn/tuareg/trunk记住通常关于开发和发行版本的注意事项。
发布于 2011-04-24 06:06:16
那是图阿雷格的一个虫子。由于某种原因,他不能正确计算短语的结尾。要解决这个问题,有两种可能性:
type 'a t = (<..> as 'a)工作;; (在toplevel中添加短语分隔符,在可以推断时在源代码中是可选的)。编辑:它似乎是错误已经被报告在上游。希望他们迟早会修好。
https://stackoverflow.com/questions/5767694
复制相似问题