在Mac OS上使用tuareg(OCaml)将utop与emacs集成

时间:2014-12-24 03:31:52

标签: emacs ocaml tuareg utop

我正在尝试学习OCaml,并安装环境。我正在使用:https://github.com/realworldocaml/book/wiki/Installation-Instructions

我真的在最后一步[编辑,Emacs]并且无法让tuareg工作。我下载了.tar文件,并复制了&将所有内容粘贴到我的主目录中的.emacs文件中。当我运行emacs和M-x到utop时,它给了我

符号的函数定义为void:split-string-and-unquote

然而,它在我的控制台中说tuareg-abbrev,所以并不是没有安装tuareg

1 个答案:

答案 0 :(得分:1)

从评论更新:您的Emacs是版本22.1,is ancienttoo old for tuareg

  

这些说明已在emacs 24.2上测试过,应该适用于该版本及更新版本。有些报道称早期的emacsen存在问题。

我的原始答案建议使用MELPA,但仍然适用。

您关联的此网站建议使用an alternative to manually installing tuareg

  

使用Emacs24软件包

     

作为上述设置的替代方案,这里是使用MELPA软件包的简化OCaml设置。

     

添加到.emacs.d/init.el

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
     

现在执行M-x package-install并安装tuaregutopmerlin

     

然后将其余配置添加到.emacs.d/init.el

(add-hook 'tuareg-mode-hook 'tuareg-imenu-set-imenu)
(setq auto-mode-alist
      (append '(("\\.ml[ily]?$" . tuareg-mode)
                ("\\.topml$" . tuareg-mode))
              auto-mode-alist)) 
(autoload 'utop-setup-ocaml-buffer "utop" "Toplevel for OCaml" t)
(add-hook 'tuareg-mode-hook 'utop-setup-ocaml-buffer)
(add-hook 'tuareg-mode-hook 'merlin-mode)
(setq merlin-use-auto-complete-mode t)
(setq merlin-error-after-save nil)

在我看来,这是一个更好的解决方案。像这样的软件包是Emacs的未来,它们通常更容易安装和使用。