我正在努力学习Haskell,而且我已经完成了所有的基础知识.但是现在我被卡住了,试图让我的头围绕着仿函数.
我读到"仿函数将一个类别转换为另一个类别".这是什么意思?
我知道这有很多问题,但是有人能给我一个关于仿函数的简单英语解释或者一个简单的用例吗?
如果我有一个包含数字列的数据文件
3.14
0.42
6.66
Run Code Online (Sandbox Code Playgroud)
从Vim中有没有办法可以通过加法,减法和除法等操作来操作它们?例如,假设我想在列中为每个数字添加2.1,我该怎么做呢?一个
我可以通过管道连接到例如awk,但我想知道是否有内置方法,我没有在帮助文件中找到任何东西.
有什么办法可以禁用Emacs中的所有鼠标点击事件吗?当我不小心碰到我的笔记本电脑上的触摸板时,我倾向于得到焦点问题,突然间我在另一个Emacs窗口.
我在我的Emacs中使用linum-mode得到了这个图形错误.我尝试从23升级到24(通过git),我已尝试使用各种提供的二进制文件在线和我的家庭编译版本.我真正感兴趣的是从哪里开始诊断问题.

如果我将屏幕上的撕裂线数字滚动并重新进入,问题就会消失.
在Emacs中使用sml-mode我已经能够使用我的缓冲区内容直接发送到较差的SML进程C-c C-b.现在我想只用Haskell做同样的事情.Haskell模式似乎不支持这个,所以我想知道:用Emacs和Haskell来解决这个问题的正确方法是什么?
在学习SML时,我一直在使用C-c C-b几乎不间断的方式轻松评估我的程序,立即看到分配值等的结果.但是如果我C-c C-l在包含两行的保存文件中使用haskell模式,let foo = "foo"并且let bar = "bar"- 我得到"parse error (possibly incorrect indentation)"
在执行恢复缓冲区或使用自动恢复模式后,如何让Emacs保留其缓冲区的撤消历史记录?
在Vim中,如果在光盘上更改了缓冲区中打开的文件,Vim会提示我重新加载该文件.然后,如果我愿意的话,我可以简单地点击"你"来撤消重新加载,甚至可以从那时起再往前走.当我恢复缓冲区时,Emacs似乎丢弃了所有撤消信息.
它说List.nub超出范围......
import Data.List
main=do
line <- getLine
putStrLn (List.nub words line)
Run Code Online (Sandbox Code Playgroud)
我对如何克服这个问题一无所知.