问题标签 [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.
haskell - 总结排列列表的距离(Haskell)
我有一个城镇列表和一个函数,它给出了两个城镇之间的距离。例如:
现在我想做一个函数,可以计算所有城镇之间随机游览的全长。例如:
我希望你知道我的意思。我不确定如何将该dist!
功能集成到新功能中。
我的第二个问题是我想计算哪个城市与第二个城市的距离最短。为了解决这个问题,我想使用greedy
下面的函数:
但我不知道如何将它翻译成haskell ...
感谢您的思考
haskell - haskellmode-vim 死了吗?
我刚刚禁用haskellmode-vim
了我的插件配置。基本上这是出于三个原因:
- 我更喜欢
neocomplcache
我的自动完成需求。 - 显然它自 2010 年以来没有更新。
- 好像不兼容
cabal
我希望有人跳入坑并指出我只是错误地配置了整个东西(就像我在自述文件中配置了最基本的东西一样)。要提出这个问题:
是否可以设置haskellmode,这样......
- ...它从阴谋集团获得其配置?
- ...它没有设置'completefunc',所以neocomplcache 仍然有效?
haskell - Haskell 风格注释的 ELisp 语法表注释
我正在尝试使用 ELisp Syntax-Table-Comments 设置 Haskell 样式的注释,但我不太明白。
在 Haskell 中,有 2 种基本类型的注释
--
表示以\n
{-
表示以 结尾的多行注释-}
需要注意的是,这些可以嵌套
多行注释可以这样完成:
单行注释可以这样完成:
根据文档,我可以使用b
. 但是,b
适用于序列的第二个字符,在这两种情况下都是-
. 因此,当我尝试使用替代方法将这些组合起来时,就不可能进行多行和单行注释。
我已经看到这样做了,所以我知道这是可能的。但是,我不知道该怎么做。任何帮助表示赞赏。
haskell - Cabals Paths_*-Module 和 emacs 的 haskell-mode
给定一个 cabal 项目,它有一个数据文件和一个想要读取它的函数。
f
项目中的此功能p
大致执行以下操作:
在此文件中,emacs haskell-mode 将导入标记为错误。永远不会标记该文件中可能存在的所有其他错误或警告。
有没有办法让 haskell-mode 知道模块Paths_p
?
emacs - haskell-mode 中的 font-lock-mode 似乎破坏了 emacs 中单个空格的宽度
我发现font-lock-mode
无论我使用什么等宽字体,单个空格的宽度都有问题。
以下是一些截图:
使用
DejaVu Sans Mono
:font-lock-mode
上:font-lock-mode
离开:使用
Luculent
:font-lock-mode
上:font-lock-mode
离开:
我的 emacs 初始化文件中的相关(可能)行:
编辑:感谢@Boojum 的帮助,我做C-u C-x =
了 3 种不同风格的角色。
这就是结果。我想问题是SPC
没有“面子”属性。
另外,我也尝试切换到其他主要模式,发现这个问题只发生在haskell-mode
.
haskell - Haskell 模式不适用于我的项目,找不到模块
这是我的场景:
我正在开发一个具有以下目录/模块的项目:
BarModule1.hs
看起来像这样:
我还有一个.cabal
指定src
为的文件hs-source-dirs
,当然这两个模块都在其中列出。
当我BarModule1.hs
在 Emacs 中的文件中并且我这样做C-c C-l时,它说:
我也想使用hlint
with flymake-haskell-multi-load
,如果我用 激活该模式M-x flymake-haskell-multi-load
,hlint
将始终显示它找不到模块的错误Foo.FooModule1
,因为它不知道.cabal
我在其中指定的文件hs-source-dirs: src
。
所以我的问题是:我怎样才能haskell-mode
的flymake
/hlint
模块树,以便它找到所有模块?
或者,我怎样才能让他们知道我的.cabal
文件中指定的模块?
haskell - Haskell 模式报告“找不到提示”---可能是什么问题?
当我运行C-c C-l
haskell-mode 报告“找不到提示”。
我的问题如下:
我将如何调试这个问题?“找不到提示”本身可能信息太少,那么我该如何寻找潜在的问题呢?
什么样的问题可能导致此错误?
emacs - 某些快捷方式不适用于以 Cc 开头的 emacs
在 Haskell 模式中,快捷方式C-c C-=
被定义为做某事。
尝试这个快捷方式,我意识到 emacs 无法识别该快捷方式C-c C-=
。
事实上,当我在 emacs 上尝试快捷方式时,C-c =
虽然我按下了C- C-=
. 我对其他一些符号也有同样的问题,比如“。” 或者 '§'。但捷径喜欢C-c C-l
或C-c C-c
工作。
我尝试删除我的.emacs
但我有同样的问题。
一个朋友和我有同样的问题。
我们都在 ArchLinux(64 位)上,我们在控制台中使用 emacs。键盘是一个azerty。
问题来自emacs?拱Linux?
emacs - 无法重新绑定 Cx Cs 以使用 haskell 模式特定功能,因为它的定义是无效的
为了在 haskell 模式下执行特定的保存操作,此页面建议重新C-x C-s
绑定要使用的键绑定,haskell-mode-save-buffer
而不仅仅是标准save-buffer
命令:
(define-key haskell-mode-map (kbd "Cx Cs") 'haskell-mode-save-buffer)
预期的行为是能够将特定于 haskell 模式的挂钩添加到标准保存命令。所以我把它添加到我的~/.emacs
文件中。
但是当我在haskell-mode中使用这个键绑定时,会发生这个错误:
Symbol的函数定义为void:haskell-mode-save-buffer
我还在文件中添加了这一行.emacs
:
(add-hook 'haskell-mode-hook 'haskell-mode-save-buffer)
但这无济于事。我想它似乎没有做任何事情,因为haskell-mode'save-buffer
s 定义是void
,所以我想将它添加到 stuff 将无济于事。我也尝试添加该行
(define-key haskell-mode-map (kbd "Cx Cs") 'haskell-mode-save-buffer)
到haskell-mode.el
文件本身(安装目录中的文件(ELPA)),但我真的不知道这是否有帮助。我还没到可以调试那种东西的地步。
我试图找出这个函数是否是在haskell-mode中定义的。使用 TAB运行M-x describe-variable "haskell-mode-"
表明它不存在于这组变量中。编辑:正如评论中所指出的,我应该使用它describe-function
来尝试找到这个函数。使用 TAB运行M-x describe-function "haskell-mode-"
显示haskell-mode-save-buffer
在此处找不到。不过,有趣的是,这里列出了两个似乎暗示能够提供预期功能的功能:
haskell-mode-before-save-handler
[...]
保存处理程序后的haskell模式
在haskell-mode.el
文件中搜索“haskell-mode-save-buffer”不会产生任何结果。
我是否有什么问题,我如何重新绑定密钥(没有明确提到我应该将行添加到.emacs
,无论如何,这只是我的一个假设),或者是这种添加钩子的方式到不再在haskell-mode中使用的save命令?
haskell - 你可以在模式挂钩中添加一个函数来调整模式打开的窗口的大小吗?
在 haskell 模式下,C-c C-b
打开一个 GHC REPL 进行测试等。然而,它总是在一个与我正在编码的那个大小相等的框架中打开。有一个模式挂钩,inferior-haskell-mode-hook
但是我尝试添加一些类似的东西
导致无效或错误消息Cannot resize the root window of a frame
。任何建议将不胜感激。
编辑:haskell-mode 的最新更新完全破坏了 REPL 功能,所以这个问题没有实际意义,或者至少在我修复它之前我无法测试答案......