emacs – 图阿雷格模式和caml模式

我目前正在使用tuareg模式,但我希望能够使用caml-mode的功能.特别是我希望能够以交互方式使用类型注释,显然这种情况与caml类型一起发生.我尝试将 http://cristal.inria.fr/~remy/poly/emacs/index.html放入我的.emacs.d中,但我对这两种模式如何以及如何协同工作感到困惑.事实上,我根本无法使用caml-mode工作.

我在init.el中有这一行:

(add-to-list 'load-path "~/.emacs.d/modes/caml")

但是没有加载文件 – 至少没有函数定义或键绑定.我真的以为我开始意识到这些emacs插件是如何工作的,但我开始怀疑.也许有人可以解释还有什么需要发生?

编辑:我没有意识到我必须要求’caml才能工作.尽管我从http://caml.inria.fr/svn/ocaml/branches/gadts/emacs/开始使用caml-types,但注释似乎并没有起作用.我使用-annot编译,但我仍然告诉我没有注释文件.

解决方法

您可以使用tuareg模式进行类型注释.
如果我有这个确切的〜/ .emacs文件
(add-hook 'tuareg-mode-hook '(lambda ()
  (define-key tuareg-mode-map [f10] 'caml-types-show-type); requires caml-types
  ))
(add-to-list 'auto-mode-alist '("\\.ml\\w?" . tuareg-mode))
(autoload 'caml-types-show-type "caml-types" "Show the type of expression or pattern at point." t)

然后按F10显示该点下的表达式类型.
如您所知,您需要使用编译文件foo.ml

ocamlc -annot foo.ml

这样在foo.ml所在的目录中就有一个文件foo.annot.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...