问题标签 [haskell-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
347 浏览

haskell - 在 Ubuntu 12 上将 haskell-mode 安装到 Emacs

我正在按照这些说明在 Ubuntu 12 上安装 haskell-mode。但是,当我要打字时M-x customize-option RET pac,Emacs 会说:不匹配!所有可自定义的变量如下图所示。

知道出了什么问题吗?

在此处输入图像描述

0 投票
2 回答
725 浏览

haskell - Haskell 和 Emacs

我正在努力学习 Haskell。我已经为 Haskell 开发配置了 Emacs,我关注了这篇博文:

http://tim.dysinger.net/posts/2014-02-18-haskell-with-emacs.html

系统工作,但我总是得到这个错误:

错误(el-get):初始化haskell-mode时:符号作为变量的值是void:haskell-mode-map

我查看了文件并定义了变量,我不知道为什么会这样。

0 投票
1 回答
137 浏览

haskell - 使用 vim 和 haskelmode 插件开发 Haskell 代码

我有一个愚蠢的问题,我敢肯定,我使用 vim 和 haskell-mode 插件在 haskell 上开发,但我不确定如何启用在 haskellmode -vim 上定义的组合键,例如:

|_ct| 创建 |标签| 文件

|_si| 在光标下显示 id 的信息

|_t| 在光标下显示 id 的类型

|_T| 在光标 |balloon| 下插入 id 的类型声明 在鼠标指针下显示 id 的类型

|_?| 在光标下浏览 id 的 Haddock 条目

|_?1| 在 Hoogle 中搜索光标下的 id

|_?2| 搜索哈优!光标下的id

如何在vim上键入以'_'开头的命令(我知道那里说这代表光标,而不是我想我只需要为该字段键入'si'但什么都没有发生)必须在哪种模式下键入它,我想在正常模式下。我在 Mac 上工作,但在 linux 上遇到同样的问题。

谢谢索林。

0 投票
2 回答
771 浏览

haskell - 在 haskell-indentation 模式下自定义缩进宽度

我目前使用 Emacs 作为开发 Haskell 代码的主要 IDE,到目前为止我真的很满意。但目前我无法弄清楚一个小细节,即如何将缩进宽度自定义为 4 而不是 2。

目前我已经打开了haskell-indentationin haskell-mode,但我不知道我必须设置什么变量来自定义缩进宽度。到目前为止,我已经尝试设置'(haskell-indent-spaces 4),但这似乎根本没有任何效果......

提前谢谢您的帮助!

0 投票
0 回答
142 浏览

haskell - 无法在 emacs Interactive-Haskell-mode 中进行 RET

我有 emacs 24.4,并为 mac 安装了最新的 Haskell 平台(10.11)。我haskell-mode通过 emacs安装package-install,并遵循 Haskell-mode 教程(https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md#haskell-mode)。此后我创建了一个测试文件;但是,当我加载解释器 ( C-c C-l) 时,我没有收到任何错误消息,但我无能为力RET。我尝试在网上寻找解决方案,但找不到任何解决方案。任何意见,将不胜感激。

啊,我忘了提:ghci据我所知,通过终端运行很好。

0 投票
0 回答
60 浏览

haskell - QuickCheck 与 emacs 中的 haskell-mode 一起使用,^H

在 emacs 中将 QuickCheck 与 haskell-mode 一起使用时,输出开始于(继续到默认的 100 个测试):

其中 ^H (Control H) 是退格的 UNIX 终端表示。现在我找到了一些在 emacs 中处理 ^H 的解决方案,但我不太明白这对我有什么帮助。

我试过切换normal-erasure-is-backspace-mode,但除了禁用我的退格键之外,这没有奏效。我想知道正确的解决方案是否不在于 QuickCheck 或 haskell-mode。我还尝试摆弄确定终端如何编码退格和删除的终端选项,但这没有任何区别。

一个最小的 quickCheck 示例:

0 投票
1 回答
156 浏览

macos - 你如何让 Emacs haskell-mode 在其他 hs-source-dirs 中查找模块?

更新:澄清这是在 Mac OS X 上

我在 Mac OS X 上使用 Emacs Prelude (它使用haskell-mode),我已经创建了一个带有stack new hello.

它生成的项目是这样的:

  • 你好:
    • 执照
    • 安装程序.hs
    • 你好,阴谋集团
    • 堆栈.cabal
    • 应用程序:
      • 主文件
    • 源代码:
      • 库文件
    • 测试:
      • 规范

如果我在 Emacs 中打开Main.hs,它会显示:

但是Lib被强调为一个错误,并且将我的插入符号放在那里显示了这一点:

你如何让 Emacs haskell-mode 在其他 hs-source-dirs 中查找模块?

0 投票
2 回答
891 浏览

haskell - Haskell Mode 的默认缩进设置好吗?

我正在通过《Learn You a Haskell》这本书来学习 Haskell。直到关于 guards 的部分,没有一个代码示例被缩进,我想知道我应该如何正确缩进我的 Haskell 代码。

本书将函数中的警戒线缩进了bmiTell四个空格:

使用 Haskell 模式的默认缩进设置TAB,我可以使用and在零空格(这会产生编译错误)和两个空格(似乎工作正常)之间切换S-TAB

这些文档看起来好像我不需要在我的 Emacs 配置中做任何事情来获得推荐的缩进设置,但是经过一番谷歌搜索后,我无法找到任何带有两个空格缩进的代码示例。搜索“Haskell 风格指南”会得到这个,它推荐像书中使用的那样使用四空格缩进。

Haskell 模式的默认缩进行为是否与人们通常格式化 Haskell 代码的方式一致?如果不是,我应该如何更改我的 Emacs 配置以与最流行的缩进方案保持一致?

编辑:显然,我在前面的例子中关于缩进是不正确的。语句第一次使用if缩进如下:

但在我当前的设置中,我似乎无法得到任何看起来像这样的东西TABS-TAB

0 投票
1 回答
1120 浏览

emacs24 - Emacs haskell-mode:“正在搜索程序:没有这样的文件或目录,ghci”

由于某种原因,emacs 无法找到我的 ghci。我正在运行 Ubuntu 16.04,并按照本教程中的说明进行操作。

使用which ghci我得到路径/opt/ghc/7.10.3/bin/ghci。并执行M-: exec-pathM-: (getenv "PATH")我可以看到正确打印的路径。

我试图像这样在 emacs 中显式设置 PATH 变量,这没有任何改变,因为据我所知它已经存在。从这个答案。

当我使用 (custom-set-variables '(haskell-process-type 'cabal-repl))错误时也会发生同样的事情:“搜索程序:没有这样的文件或目录,cabal”

我将非常感谢帮助。:) 我不知道该怎么做,也没有在互联网上找到任何答案。

0 投票
1 回答
410 浏览

haskell - 更改 cabal 文件后更新 Intero flycheck

我在 emacs 下使用 Intero 来编辑我的新 Haskell 项目。我在我的代码中添加了对第三方库的导入,以查看 Intero 是否会自动添加必要的依赖项,但它没有。所以我.cabal手动编辑了文件以添加必要的依赖项。现在我该怎么办 - 没有重新启动 emacs?

我试过cabal install --dependencies-only; cabal configure在命令行运行,它们运行成功,但 flycheck 缓冲区仍然显示错误。