2

我正在关注https://learnhaskell.blogspot.com/2007/09/lesson-1-hello-world.html中的教程

我按照所有说明进行操作,但是在 emacs 上输入时C-c C-l,我得到了Run 'C-h f haskell-mode' for instruction how to setup a Haskell interaction mode

当我输入它时,我需要一个不是很有帮助的页面。

接下来我该怎么做?除了删除 for 的版本号之外,我完全按照教程中的步骤ghi, emacs进行操作apt

我的.emacs文件如下,和博客里的一模一样。

;; Font Locking, Programming Modes, and Compilation settings
;;

(global-font-lock-mode 1)
;; maximum colors
(setq font-lock-maximum-decoration t)

;; extra key bindings
(global-set-key "\M-C" 'compile)
(global-set-key "\C-^" 'next-error)
(global-set-key "\C-\M-g" 'goto-line)

;; use spaces instead of tabs
(setq-default indent-tabs-mode nil)

;; haskell mode configuration
(setq auto-mode-alist
      (append auto-mode-alist
              '(("\\.[hg]s$"  . haskell-mode)
                ("\\.hic?$"     . haskell-mode)
                ("\\.hsc$"     . haskell-mode)
  ("\\.chs$"    . haskell-mode)
                ("\\.l[hg]s$" . literate-haskell-mode))))
(autoload 'haskell-mode "haskell-mode"
   "Major mode for editing Haskell scripts." t)
(autoload 'literate-haskell-mode "haskell-mode"
   "Major mode for editing literate Haskell scripts." t)

;adding the following lines according to which modules you want to use:
(require 'inf-haskell)

(add-hook 'haskell-mode-hook 'turn-on-font-lock)
;(add-hook 'haskell-mode-hook 'turn-off-haskell-decl-scan)
;(add-hook 'haskell-mode-hook 'turn-off-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
;(add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent)
;(add-hook 'haskell-mode-hook 'turn-on-haskell-hugs)
(add-hook 'haskell-mode-hook 'turn-on-haskell-ghci)
(add-hook 'haskell-mode-hook 
   (function
    (lambda ()
      (setq haskell-program-name "ghci")
      (setq haskell-ghci-program-name "ghci6"))))

4

1 回答 1

3

interactive-haskell-mode必须启用次要模式才能在 Haskell 代码缓冲区和 Haskell 解释器之间打开交互式会话。您可以使用命令为当前缓冲区启用此模式M-x interactive-haskell-mode

要为您打开的每个 Haskell 文件启用此模式,您可以设置一个挂钩,每次启用时haskell-mode都会运行此命令(即启用) 。将以下行添加到您的 .emacs 文件中:interactive-haskell-modehaskell-mode

(add-hook 'haskell-mode-hook 'interactive-haskell-mode)
于 2019-06-08T07:11:13.453 回答